Falconbyte unterstüzen
Betrieb und Pflege von Falconbyte brauchen viel Zeit und Geld. Um dir auch weiterhin hochwertigen Content anbieten zu können, kannst du uns sehr gerne mit einem kleinen "Trinkgeld" unterstützen.
Thema in Kurzform
var zahl = 2;
switch(zahl){
case 1:
document.write("Eins");
break;
case 2:
document.write("Zwei");
break;
// usw.
}
- Erklärung switch-case-Kontrollstruktur
- break
- default
- Übungen
Inhaltsverzeichnis
Erklärung switch-case-Kontrollstruktur
Um eine switch-case-Kontrollstruktur aufzubauen, benötigen wir die beiden Schlüsselbegriffe switch und case und setzen sie wie folgt ein:
var zahl = 2;
switch(zahl){
case 1:
document.write("Eins");
break;
case 2:
document.write("Zwei");
break;
case 3:
document.write("Drei");
break;
case 4:
document.write("Vier");
break;
}
Das Ganze läuft nun so ab:
Wir übergeben die Variable zahl in runden Klammern dem switch-Codeblock. Dieser switch-Wert wird nun nacheinander mit mehreren anderen Werten verglichen.
Jeder Vergleich wird mit dem Schlüsselwort case (engl. "Fall") beschrieben. Stimmt der switch-Wert mit einem case-Wert überein, wird die entsprechende Anweisung ausgeführt.
In unserem Beispiel wird also das zweite case "getroffen" und es wird die Anweisung document.write("Zwei"); ausgeführt.
break
Sicherlich ist Ihnen das Schlüsselwort break schon aufgefallen. Dieses ist zwar optional, doch für einen erwartungsgemäßen Ablauf unserer Programme in der Regel notwendig.
Was bewirkt break?
- Die break-Anweisung bewirkt das sofortige Ende der gesamten switch-case-Kontrollstruktur.
Das heißt für unser Beispiel: Sobald ein case "getroffen" wird, werden alle dazugehörenden Anweisungen bis zum nächsten break ausgeführt.
Ohne den Einsatz von break, würde der Code also einfach weiterlaufen.
Modifizieren wir unser Beispiel einmal und entfernen das break beim zweiten case. Was wird nun am Bildschirm angezeigt?
var zahl = 2;
switch(zahl){
case 1:
document.write("Eins");
break;
case 2:
document.write("Zwei");
case 3:
document.write("Drei");
break;
case 4:
document.write("Vier");
break;
}
Die Anweisung von case 2 wird ausgeführt. Da hier aber nun die break-Anweisung fehlt, wird der switch-case-Block nicht beendet, sondern bei case 3 einfach fortgeführt. Erst hiernach stoppt die Kontrollstruktur, da case 3 am Ende ein break besitzt.
Im Browser wird also angezeigt:
ZweiDreidefault
Trifft keiner der Fälle zu, kann man mit default: alle restlichen Fälle abfangen:
var zahl = 5;
switch(zahl){
case 1:
document.write("Eins");
break;
case 2:
document.write("Zwei");
break;
case 3:
document.write("Drei");
break;
case 4:
document.write("Vier");
break;
default:
document.write("Alle anderen");
}
Da der switch-Wert 5 mit keinem case-Vergleichswert übereinstimmt, wird der Code nach default ausgeführt.
Das Nassi-Shneiderman-Diagramm zu unserer switch-case-Struktur inkl. default-Anweisung sieht dann so aus:
Übungen
einfach
Was wird am Ende des Codes im Browser angezeigt?
var name = "Marcus";
switch(name){
case "Paul":
document.write("A");
break;
case "Albert":
document.write("B");
break;
case "Peter":
document.write("C");
break;
default:
document.write("D");
}
mittel
Welchen Wert hat die Variable x am Ende des Codes?
var a = "A";
var x = 0;
switch (a){
case "A":
case "B": x++;
case "C": x++; break;
case "D":
case "E": x++;
}