Wertunterscheidungen mit switch
Bei Fallunterscheidungen mit if können beliebig viele und auch komplexe Bedingungen abgefragt werden. Die Bedingungen werden dann mit logischen Operatoren verknüpft. In Fallbeispiel 2 wird beispielsweise ein Bereich mit if abgefragt:
if (zahl > 0 && zahl <= 50)
...
Switch Abfragen hingegen sind schnelle überischtliche Abfragen, die nur eine Bedingung prüfen können. Die Switch-Anweisung wird auch als Fallauswahl bezeichnet. Das folgende Bild zeigt das Prinzip und die Darstellung einer Switch-Abfrage:
- Hinter jedem Auswahlfall (case) steht der Code, der ausgeführt wird, wenn die Variable wert einen der Zahlenwerte annimmt.
- Am Ende jeder Auswahlmöglichkeit muss in den meisten Fällen ein break stehen. Das Schlüsslwort break bewirkt, dass nach der Ausführung des Codes die Switch-Abfrage beendet und verlassen wird.
- Wenn kein Fall zutrifft, wird der Code hinter default ausgeführt. Das default-Fall kann auch weggelassen werden. Dann wird nichts ausgeführt, wenn kein Fall zutrifft.
Positive Merkmale der Switch-Abfrage sind:
- übersichtlicher Code ohne Verschachtelung
- schneller als if - Abfragen
Dafür gibt es aber auch einige Einschränkungen:
- nur ganzzahlige Werte können abgefragt werden
- nur eine einzige Bedingung kann abgefragt werden
- keine >, <, … Vergleiche
Fallbeispiel 4: Das folgende Programm liest eine Zahl von der Konsole ein. Mit einer Switch-Abfrage wird ermittelt, welche Zahl eingelesen wurde. Als Ausgabe erscheint dann ein Satz, welche Zahl eingegeben wurde.
- << Zurück
- Weiter