Java Technologie
switch - statement
Mehrfachverzweigung
Wir erweitern das if / else - statement zu einer Mehrfachverzweigung. Stichwort ist die Erweiterung else if (Bedingung). Die bedingungslose dann-Anweisung wird an eine Bedingung gekoppelt:
if(age == 18){
System.out.println("Bis 22 Uhr: ja!");
}else if(age < 21){
System.out.println("Bis 23 Uhr: ja!");
}else if(age >= 21){
System.out.println("Lass ihn/sie rein!");
}else{
System.out.println("Lass ihn/sie draussen!");
}
In Zeile 7 ist die alternative dann-Anweisung eingeleitet, falls alle anderen Anweisungen nicht greifen. Dieses fallback ist der sogenannte default einer Mehrfachverzweigung.
switch - statement
switch (firstLetter) {
case "t":
System.out.println("Erster Buchstabe ein t!");
break;
case "c":
System.out.println("Erster Buchstabe ein c!");
break;
case "b":
System.out.println("Erster Buchstabe ein b!");
break;
default:
System.out.println("Erster Buchstabe ein anderer Buchstabe!");
}
Die switch-case-Anweisung hat leider einige Einschränkungen und ist somit eine Alternative mit Einschränkungen für if / else if Mehrfachverzweigung.
- Zugelassen ist der primitive Datentyp int. Das heißt, byte, char und short sind erlaubt.
- Objekttypen sind nicht erlaubt, also auch String-Typen.
- Dynamische Ausdrücke werden nicht ausgewertet.
- Bereiche können nicht bewertet werden (z.B. Altersbereiche)
Lizenziert unter Creative Commons Attribution Non-commercial Share Alike License 3.0