wenndann:switch:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | wenndann:switch:start [2024/08/31 10:03] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== 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 ' | ||
+ | |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 ' | ||
+ | |||
+ | <code learnj> | ||
+ | if(raumnummer == 131){ | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | println(" | ||
+ | } else { | ||
+ | // usw... | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | Das wird schnell unübersichtlich! Für solche Fälle gibt es die switch-Anweisung: | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | int raumnummer = Input.readInt(" | ||
+ | |||
+ | switch(raumnummer){ | ||
+ | case 131: | ||
+ | println(" | ||
+ | break; | ||
+ | case 161: | ||
+ | println(" | ||
+ | break; | ||
+ | case 162: | ||
+ | println(" | ||
+ | break; | ||
+ | case 202: | ||
+ | println(" | ||
+ | break; | ||
+ | | ||
+ | println(" | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | Die **switch-Anweisung** | ||
+ | <code learnj> | ||
+ | switch(wert){ | ||
+ | case wert1: | ||
+ | Anweisungen1; | ||
+ | break; | ||
+ | case wert2: | ||
+ | Anweisungen2; | ||
+ | break; | ||
+ | case wert3: | ||
+ | Anweisungen3; | ||
+ | break; | ||
+ | case wert4: | ||
+ | Anweisungen4; | ||
+ | break; | ||
+ | // usw... | ||
+ | | ||
+ | Default-Anweisungen; | ||
+ | } | ||
+ | </ | ||
+ | führt '' | ||
+ | Falls der Wert in keinem der '' | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 80%> | ||
+ | **Vorsicht: Die break-Anweisungen sind wichtig!** \\ \\ | ||
+ | Die switch-Anweisung springt zum case-Block, der den richtigen Wert enthält, und führt die Anweisungen dort durch. Trifft sie auf **kein** '' | ||
+ | Der Sinn dieser Festlegung ([[https:// | ||
+ | <code learnj> | ||
+ | switch(gewürfelteZahl){ | ||
+ | case 1: | ||
+ | case 3: | ||
+ | case 5: | ||
+ | println(" | ||
+ | break; | ||
+ | case 2: | ||
+ | case 4: | ||
+ | case 6: | ||
+ | println(" | ||
+ | break; | ||
+ | | ||
+ | println(" | ||
+ | } | ||
+ | </ | ||
+ | </ | ||