====== Die switch-Anweisung (mehrseitige Auswahl) ======
===== Beispiel 1: Raumplan =====
Die Raumbelegung der Mehrzweckräume des Gymnasiums Kleinschwabhausen sieht heute so aus:
^Raumnummer^Belegung^
|131|Besprechung der Fachschaft Mathematik|
|161|Projekt 'Umwelt macht Schule'|
|162|Lehrerfortbildung zur Benutzung der neuen Whiteboards|
|202|Gesperrt (Renovierungsarbeiten)|
Nach Eingabe einer Raumnummer soll der Computer die Belegung ausgeben. \\ \\
Natürlich könnte man das mit einer riesigen 'if' - 'else' - Konstruktion lösen:
if(raumnummer == 131){
println("Besprechung der Fachschaft Mathematik");
} else {
if(raumnummer == 161){
println("Projekt 'Umwelt macht Schule'");
} else {
// usw...
}
}
Das wird schnell unübersichtlich! Für solche Fälle gibt es die switch-Anweisung:
switch(wert){
case wert1:
Anweisungen1;
break;
case wert2:
Anweisungen2;
break;
case wert3:
Anweisungen3;
break;
case wert4:
Anweisungen4;
break;
// usw...
default:
Default-Anweisungen;
}
führt ''Anweisungen1'' aus, falls ''wert == wert1'', sie führt ''Anweisungen2'' aus, falls ''wert == wert2'' usw.
Falls der Wert in keinem der ''case''-Blöcke enthalten sind, werden die Anweisungen des ''default''-Blocks ausgeführt.
switch(gewürfelteZahl){
case 1:
case 3:
case 5:
println("Es wurde eine ungerade Zahl gewürfelt.");
break;
case 2:
case 4:
case 6:
println("Es wurde eine gerade Zahl gewürfelt.");
break;
default:
println("Bist Du sicher, dass Du mit einem sechsseitigen Würfel gewürfelt hast?");
}