Die switch / case-Anweisung ist eine komtortable Ergänzung zur if…else Abfrage. Mit ihr können Abfragen auf einfache Art und Weise noch weiter verzweigt werden. Sie wird verwendet, wenn mehrere Optionen vorhanden sind, die ausgewertet werden sollen. Die Switch / Case Anweisung vergleicht den Wert einer Variablen und führt bei einer Übereinstimmung den entsprechende Case-Block aus. Abgeschlossen wird der case-Block mit der break-Anweisung. Das ist unbedingt notwendig. Ergab keiner der durchgeführten Vergleiche eine Übereinstimmung, können Sie mit der default-Anweisung festlegen, wie standardmäßig darauf reagiert werden soll. Die default Anweisung ist nicht zwingend anzugeben, es ist jedoch von Vorteil es doch zu tun.
Struktur der switch / case Anweisung
int wert = 4; // Variable initialisieren, die zur Prüfung verwendet wird switch(wert) { case 1: // Option, wenn wert gleich 1 ist // das hier ist der 1. case-Block // hier stehen weitere Anweisungen break; case 2: // Option, wenn wert gleich 2 ist // das hier ist der 2. case-Block // hier stehen weitere Anweisungen case 3: // Option, wenn wert gleich 3 ist // das hier ist der 3. case-Block // hier stehen weitere die Anweisungen break; case 4: //Option, wenn wert gleich 4 ist // das hier ist der 4. case-Block // hier stehen weitere Anweisungen break; default: //Alternative, wenn keinerlei Bedingung zutreffend ist // das hier ist der default-Block // und hier stehen die Anweisungen break; }
Code-Beispiel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | int note = 3; switch (note) { case 1: Serial.print("sehr gut"); break; case 2: Serial.print("gut"); break; } case 3: Serial.print("befriedigend"); break; } case 4: Serial.print("ausreichend"); break; } case 5: Serial.print("unbefriedigend"); break; } case 6: Serial.print("mangelhaft"); break; } default: Serial.print("nicht feststellbar"); break; } } |
Was passiert?