Die switch Anweisung in Java ist eine Kontrollflussanweisung, die die Ausführung eines Codeblocks unter mehreren Alternativen ermöglicht. Sie bietet eine lesbarere und effizientere Möglichkeit, eine Reihe von if-else Anweisungen zu schreiben, wenn derselbe Ausdruck mit verschiedenen Werten verglichen wird.
Verwendung
Die Anweisung switch wertet einen Ausdruck aus, vergleicht den Wert des Ausdrucks mit einer Reihe von case Labels und führt den Codeblock aus, der mit dem passenden case verbunden ist. Wenn keine case übereinstimmt, wird der default Block ausgeführt, falls er vorhanden ist.
Syntax
switch(expression){casevalue1:// code blockbreak;casevalue2:// code blockbreak;// more cases...default:// default code block}Bereitgestellt von
Ausdruck: Eine Variable oder ein Ausdruck, der einmal ausgewertet wird.
Wert1, Wert2, ...: Konstante Ausdrücke, mit denen die expression verglichen wird.
Pause: Beendet den switch Block. Ohne sie wird die Vollstreckung auf spätere Fälle verschoben.
Standard: Optionaler Block, der ausgeführt wird, wenn keine case übereinstimmt.
Beispiele
Beispiel 1: Basic switch Erklärung
publicclassSwitchExample{publicstaticvoidmain(String[] args){
int number =2;switch(number){case1:
System.out.println("One");break;case2:
System.out.println("Two");break;case3:
System.out.println("Three");break;default:
System.out.println("Not in range");}}}Bereitgestellt von
In diesem Beispiel wertet die Anweisung switch die Variable number aus. Da number gleich 2 ist, wird die Ausgabe "Zwei" sein. Die Anweisung break verhindert ein Übergreifen auf nachfolgende Fälle.
Beispiel 2: switch mit Strings
publicclassSwitchStringExample{publicstaticvoidmain(String[] args){
String fruit ="Apple";switch(fruit){case"Apple":
System.out.println("Fruit is Apple");break;case"Banana":
System.out.println("Fruit is Banana");break;default:
System.out.println("Unknown fruit");}}}Bereitgestellt von
Dieses Beispiel demonstriert die Verwendung einer switch Anweisung mit einer String. Die switch prüft den Wert von fruit, und da dieser "Apfel" ist, lautet die Ausgabe "Fruit is Apple".
Beispiel 3: switch ohne break
publicclassSwitchFallThroughExample{publicstaticvoidmain(String[] args){
int day =3;switch(day){case1:case2:case3:
System.out.println("Weekday");break;case4:case5:
System.out.println("Weekend");break;default:
System.out.println("Invalid day");}}}Bereitgestellt von
In diesem Beispiel werden mehrere case Labels verwendet, um denselben Codeblock auszuführen. Die Ausgabe lautet "Wochentag", weil day gleich 3 ist und die Anweisung break verhindert, dass die Ausführung zu den "Wochenend"-Fällen übergeht.
Tipps und bewährte Praktiken
Verwende break Anweisungen: Beziehe immer break mit ein, es sei denn, du willst absichtlich durchfallen. Dies verhindert die unbeabsichtigte Ausführung der nachfolgenden Fälle.
Standardfall: Füge einen default Fall ein, um unerwartete Werte zu behandeln und die Robustheit des Codes zu verbessern.
Ausdrucksarten: Der Ausdruck switch kann vom Typ byte, short, int, char, String oder eine Aufzählung sein.
Vermeide komplizierte Logik: Verwende switch für einfache Szenarien mit diskreten Werten. Für komplexe Bedingungen kannst du die if-else Anweisungen verwenden.
Java 12+ Erweiterungen: In Java 12 und höher ermöglichen Switch-Ausdrücke die Rückgabe von Werten und die Verwendung des Schlüsselworts yield, um den Code zu straffen.
Die
switchAnweisung in Java ist eine Kontrollflussanweisung, die die Ausführung eines Codeblocks unter mehreren Alternativen ermöglicht. Sie bietet eine lesbarere und effizientere Möglichkeit, eine Reihe vonif-elseAnweisungen zu schreiben, wenn derselbe Ausdruck mit verschiedenen Werten verglichen wird.Verwendung
Die Anweisung
switchwertet einen Ausdruck aus, vergleicht den Wert des Ausdrucks mit einer Reihe voncaseLabels und führt den Codeblock aus, der mit dem passendencaseverbunden ist. Wenn keinecaseübereinstimmt, wird derdefaultBlock ausgeführt, falls er vorhanden ist.Syntax
expressionverglichen wird.switchBlock. Ohne sie wird die Vollstreckung auf spätere Fälle verschoben.caseübereinstimmt.Beispiele
Beispiel 1: Basic
switchErklärungIn diesem Beispiel wertet die Anweisung
switchdie Variablenumberaus. Danumbergleich 2 ist, wird die Ausgabe "Zwei" sein. Die Anweisungbreakverhindert ein Übergreifen auf nachfolgende Fälle.Beispiel 2:
switchmit StringsDieses Beispiel demonstriert die Verwendung einer
switchAnweisung mit einerString. Dieswitchprüft den Wert vonfruit, und da dieser "Apfel" ist, lautet die Ausgabe "Fruit is Apple".Beispiel 3:
switchohnebreakIn diesem Beispiel werden mehrere
caseLabels verwendet, um denselben Codeblock auszuführen. Die Ausgabe lautet "Wochentag", weildaygleich 3 ist und die Anweisungbreakverhindert, dass die Ausführung zu den "Wochenend"-Fällen übergeht.Tipps und bewährte Praktiken
breakAnweisungen: Beziehe immerbreakmit ein, es sei denn, du willst absichtlich durchfallen. Dies verhindert die unbeabsichtigte Ausführung der nachfolgenden Fälle.defaultFall ein, um unerwartete Werte zu behandeln und die Robustheit des Codes zu verbessern.switchkann vom Typbyte,short,int,char,Stringoder eine Aufzählung sein.switchfür einfache Szenarien mit diskreten Werten. Für komplexe Bedingungen kannst du dieif-elseAnweisungen verwenden.yield, um den Code zu straffen.