switch - Kekziie/Informatik-II-SS-2017 GitHub Wiki
switch (<Ausdruck>) {
case <Konstante-1>:
<Anweisungen-1>
break;
case <Konstante-2>:
<Anweisungen-2>
break;
... // weitere case-Marken
case <Konstante-N>:
<Anweisungen-N>
break;
[optional:
default:
<Anweisungen - (N+1)>]
}
- bewachte Anweisungen ermöglichen die Auswahl von Anweisungsfolgen aus einer Menge von Alternativen
- Wert von :
- ganzzahliger Typ (int short byte)
- char String
- darf keine reelle Zahl sein (real double)
- Marke case :
- Sprungposition, an der die Ausführung der Auswahlalternative beginnt (wenn Ergebnis der Auswertung des Ausdrucks Wert der Konstanten liefert)
- letzte Alternative default: (Verwendung optional)
- wenn Ergebnis der Auswertung nicht in der Liste der case-labels
- break:
- beendet die Ausführung der switch-Anweisung
- setzt Programm nach der }-Klammer fort
- Angabe optional
Abfolge:
- Auswertung des Ausdrucks
- Auswahl des dem Wert des Ausdrucks entsprechenden Zweiges
- Bearbeitung der nachfolgenden Anweisungen bis zum nächsten break (oder bis zum Ende der switch-Anweisungen)
- falls kein Zweig passt:
- default-Zweig
- switch-Anweisung beendet