Der Ablauf eines Programms lässt sich nicht nur durch if-Statements steuern, sondern ebenfalls mit
Switch-Case Anweisungen. Immer dann, wenn es sich darum handelt, einen Eingangswert richtig einzuordnen und diesen Eingangswert
gegen viele Bedingungen zu prüfen, könnten Switch-Case Fallunterscheidungen mehr als nur eine Alternative sein.
Switch-Case Anweisungen liefern vom Prinzip dasselbe Ergebnis wie if-Statements, nur das es keiner Vielzahl von aufeinander
folgenden else if Anweisungen bedarf, wenn es darum geht, möglichst viele Fälle zu unterscheiden. Der an eine Switch Anweisung
übergebene Wert wird Case für Case (Fall für Fall) mit den Case-Werten verglichen und nur wenn ein Vergleich eine
Übereinstimmung ergab, wird der im jeweiligen Case-Zweig notierte Code ausgeführt.
Die Ausführung des Codes wird erst durch eine break-Anweisung beendet. Wurde das Schlüsselwort break nicht als Anweisung zum
Abbruch nach einem Case-Zweig notiert, so wird die Ausführung mit dem im nächsten Case-Zweig notierten Code fortgesetzt und
erst beendet, wenn eine break-Anweisung gefunden wird.
Den Abschluss kann eine default-Anweisung bilden, die immer dann ausgeführt wird, wenn in den vorausgehenden Zweigen keine
Übereinstimmung mit dem Switch-Eingangswert gefunden wurde. Eine default-Anweisung entspricht somit im Ergebnis etwa dem
Else-Zweig eines if-Statements.
Ein Beispiel für Switch-Case in C:
#include <stdio.h> #include <conio.h> int main() { int eingabe; printf("Beliebte weibliche Vornamen.\r\n\r\n"); printf("Eine Zahl zwischen 1 und 7 eingeben: "); scanf("%d", &eingabe); printf("\r\n"); switch(eingabe) { case 1: printf("Platz 1: Anna"); break; case 2: printf("Platz 2: Ida"); break; case 3: printf("Platz 3: Emma"); break; case 4: printf("Platz 4: Sofia"); break; case 5: printf("Platz 5: Maria"); break; case 6: printf("Platz 6: Veronica"); break; case 7: printf("Platz 7: Ute"); break; default: printf("Die Eingabe konnte nicht ausgwertet werden."); break; } getch(); return 0; }
Ein Beispiel für Switch-Case in JavaScript:
<script type="text/javascript"> "use strict"; function beliebte_Vornamen_vor_1900() { var umbruch = "\r\n\r\n"; var einsatz = "Beliebte männliche Vornamen." + umbruch; var eingabe = prompt("Eine Zahl zwischen 1 und 7 eingeben: ",""); if (eingabe.length < 2) { eingabe = eingabe.replace(/[^0-9]/, ""); if (typeof(eingabe) != "number") { eingabe = parseInt(eingabe); } } else { eingabe = false; } switch(eingabe) { case 1: alert(einsatz + "Platz 1: Hans" + umbruch); break; case 2: alert(einsatz + "Platz 2: Otto" + umbruch); break; case 3: alert(einsatz + "Platz 3: Paul" + umbruch); break; case 4: alert(einsatz + "Platz 4: Fritz" + umbruch); break; case 5: alert(einsatz + "Platz 5: Gustav" + umbruch); break; case 6: alert(einsatz + "Platz 6: Heinrich" + umbruch); break; case 7: alert(einsatz + "Platz 7: Hermann" + umbruch); break; default: alert(einsatz + "Die Eingabe konnte nicht ausgwertet werden."); break; } } </script>
zurück zu: Fallunterscheidungen » if-Statements
Einstieg in C/C++
Win32-API
NET Framework