Das Schlüsselwort switch wird in Java verwendet, um einen Codeblock unter vielen Alternativen auszuführen. Es handelt sich um eine Steueranweisung, mit der die Variable auf Gleichheit mit einer Liste von Werten geprüft werden kann, die jeweils einen eigenen Codeblock enthalten.
Verwendung
Die Anweisung switch bietet einen saubereren und lesbareren Weg, um mehrere bedingte Verzweigungen zu handhaben, als die Verwendung mehrerer if-else Anweisungen.
Syntax
switch(expression){casevalue1:// code blockbreak;casevalue2:// code blockbreak;// more cases...default:// default code block}Bereitgestellt von
expression: Die Variable oder der Ausdruck, dessen Wert mit den Fallwerten verglichen wird.
case value: Ein konstanter Wert, mit dem der Ausdruck verglichen wird. Wenn sie übereinstimmen, wird der entsprechende Codeblock ausgeführt.
break: Beendet die Anweisung switch und verhindert ein Durchfallen.
default: Wird ausgeführt, wenn kein Fallwert mit dem Ausdruck übereinstimmt.
Beispiele
Beispiel 1: Grundlegende Verwendung
publicclassSwitchExample{publicstaticvoidmain(String[] args){
int day =3;switch(day){case1:
System.out.println("Monday");break;case2:
System.out.println("Tuesday");break;case3:
System.out.println("Wednesday");break;case4:
System.out.println("Thursday");break;case5:
System.out.println("Friday");break;case6:
System.out.println("Saturday");break;case7:
System.out.println("Sunday");break;default:
System.out.println("Invalid day");}}}Bereitgestellt von
In diesem Beispiel wird die Variable day mit den Fallwerten verglichen. Da day 3 ist, lautet die Ausgabe "Mittwoch".
Beispiel 2: Strings verwenden
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;case"Cherry":
System.out.println("Fruit is Cherry");break;default:
System.out.println("Unknown fruit");}}}Bereitgestellt von
Dieses Beispiel zeigt, wie du eine switch Anweisung mit String Werten verwenden kannst. Da fruit "Apfel" ist, lautet die Ausgabe "Frucht ist Apfel".
Beispiel 3: Fall-Through-Verhalten
publicclassSwitchFallThroughExample{publicstaticvoidmain(String[] args){
int num =2;switch(num){case1:
System.out.println("One");case2:
System.out.println("Two");case3:
System.out.println("Three");break;default:
System.out.println("Default case");}}}Bereitgestellt von
In diesem Beispiel führt das Fehlen der break Anweisungen zu einem Durchfallverhalten. Da num gleich 2 ist, wird die Ausgabe sein:
Verwende break Anweisungen: Verwende immer break Anweisungen, um ein Durchfallen zu verhindern, es sei denn, dies ist ausdrücklich gewünscht.
Standardfall: Füge einen default Fall ein, um unerwartete Werte zu behandeln.
Konstante Werte: Achte darauf, dass Fallwerte Konstanten oder Literale sind.
Typ Kompatibilität: Der Ausdruck switch kann vom Typ byte, short, char, int, String oder ein Enum-Typ sein. Stelle sicher, dass die Groß- und Kleinschreibung mit dem Typ des Ausdrucks kompatibel ist.
Lesbarer Code: Verwende switch Anweisungen, um deinen Code lesbarer und wartbarer zu machen im Vergleich zu mehreren if-else Anweisungen.
Java 12 Erweiterungen: Ab Java 12 kannst du Switch-Ausdrücke verwenden, um Werte direkt aus Cases zurückzugeben, was die Syntax vereinfacht und die Lesbarkeit des Codes verbessert.
enum Day {MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY}publicclassSwitchEnumExample{publicstaticvoidmain(String[] args){
Day day = Day.WEDNESDAY;switch(day){caseMONDAY:
System.out.println("Monday");break;caseTUESDAY:
System.out.println("Tuesday");break;caseWEDNESDAY:
System.out.println("Wednesday");break;caseTHURSDAY:
System.out.println("Thursday");break;caseFRIDAY:
System.out.println("Friday");break;caseSATURDAY:
System.out.println("Saturday");break;caseSUNDAY:
System.out.println("Sunday");break;}}}Bereitgestellt von
Die Verwendung von Enums in switch Anweisungen kann die Lesbarkeit des Codes und die Typsicherheit verbessern.
Das Schlüsselwort
switchwird in Java verwendet, um einen Codeblock unter vielen Alternativen auszuführen. Es handelt sich um eine Steueranweisung, mit der die Variable auf Gleichheit mit einer Liste von Werten geprüft werden kann, die jeweils einen eigenen Codeblock enthalten.Verwendung
Die Anweisung
switchbietet einen saubereren und lesbareren Weg, um mehrere bedingte Verzweigungen zu handhaben, als die Verwendung mehrererif-elseAnweisungen.Syntax
expression: Die Variable oder der Ausdruck, dessen Wert mit den Fallwerten verglichen wird.case value: Ein konstanter Wert, mit dem der Ausdruck verglichen wird. Wenn sie übereinstimmen, wird der entsprechende Codeblock ausgeführt.break: Beendet die Anweisungswitchund verhindert ein Durchfallen.default: Wird ausgeführt, wenn kein Fallwert mit dem Ausdruck übereinstimmt.Beispiele
Beispiel 1: Grundlegende Verwendung
In diesem Beispiel wird die Variable
daymit den Fallwerten verglichen. Daday3 ist, lautet die Ausgabe "Mittwoch".Beispiel 2: Strings verwenden
Dieses Beispiel zeigt, wie du eine
switchAnweisung mitStringWerten verwenden kannst. Dafruit"Apfel" ist, lautet die Ausgabe "Frucht ist Apfel".Beispiel 3: Fall-Through-Verhalten
In diesem Beispiel führt das Fehlen der
breakAnweisungen zu einem Durchfallverhalten. Danumgleich 2 ist, wird die Ausgabe sein:Tipps und bewährte Praktiken
breakAnweisungen: Verwende immerbreakAnweisungen, um ein Durchfallen zu verhindern, es sei denn, dies ist ausdrücklich gewünscht.defaultFall ein, um unerwartete Werte zu behandeln.switchkann vom Typbyte,short,char,int,Stringoder ein Enum-Typ sein. Stelle sicher, dass die Groß- und Kleinschreibung mit dem Typ des Ausdrucks kompatibel ist.switchAnweisungen, um deinen Code lesbarer und wartbarer zu machen im Vergleich zu mehrerenif-elseAnweisungen.Die Verwendung von Enums in
switchAnweisungen kann die Lesbarkeit des Codes und die Typsicherheit verbessern.