Der Wert hinter dem switch wird nacheinander mit den hinter der Sprungmarke case aufgeführten Werten verglichen. Bei Übereinstimung wird die jeweilige Anweisung ausgeführt. Trifft keine Übereinstimmung zu, kann optional mit der Sprungmarke default eine Standardanweisung ausführt werden.
public class SwitchCaseClass {
public static void main(String[] args){
int i=2;
switch(i){
case 0:
System.out.println("i ist null");
break;
case 1:
System.out.println("i ist eins");
break;
case 2:
System.out.println("i ist zwei");
break;
case 3:
System.out.println("i ist drei");
break;
default:
System.out.println("i liegt nicht zwischen null und drei");
}
}
}
Es ist wichtig darauf zu achten, dass nach Ausführung einer Anweisung
der Schleifendurchlauf mit break unterbrochen wird, da die
folgenden Sprungmarken sonst ebenfalls geprüft und ggf. ausgeführt
werden.
public static void main(String[] args){
int i=2;
switch(i){
case 0:
System.out.println("i ist null");
break;
case 1:
System.out.println("i ist eins");
break;
case 2:
System.out.println("i ist zwei");
break;
case 3:
System.out.println("i ist drei");
break;
default:
System.out.println("i liegt nicht zwischen null und drei");
}
}
}
Mit der Java-Version 1.7 wurde die Möglichkeit eingeführt, auch auf Strings zu prüfen. Ein Beispiel sieht wie folgt aus:
String s = "Hundefutter";
switch (s) {
case "Marmelade":
System.out.println("Prima zum Frühstück");
break;
case "Pizza":
System.out.println("Immer wieder gerne");
break;
case "Hundefutter":
System.out.println("Pfui Teufel");
break;
default:
System.out.println("Keinen Hunger?");
}