Java switch-case-Anweisung
Die switch-case-Anweisung bestimmt, ob eine Variable gleich einem Wert in einer Reihe von Werten ist. Jeder Wert wird als Zweig bezeichnet.
Syntax
Die Syntax der switch-case-Anweisung lautet wie folgt:

Die switch-case-Anweisung hat die folgenden Regeln:
Der Variablentyp in einer switch-Anweisung kann Folgendes sein: byte, short, int oder char. Ab Java SE 7 unterstützt switch den Typ String, und das case-Label muss eine String-Konstante oder ein String-Literal sein.
Eine switch-Anweisung kann mehrere case-Anweisungen haben. Auf jedes case folgt ein zu vergleichender Wert und ein Doppelpunkt.
Der Datentyp des Werts in einer case-Anweisung muss derselbe sein wie der Datentyp der Variable, und er kann nur eine Konstante oder eine literale Konstante sein.
Wenn der Wert der Variable dem Wert einer case-Anweisung entspricht, werden die Anweisungen nach der case-Anweisung ausgeführt, bis eine break-Anweisung auftritt; an diesem Punkt wird die switch-Anweisung verlassen.
Wenn eine break-Anweisung angetroffen wird, wird die switch-Anweisung beendet. Das Programm springt zur Anweisung nach der switch-Anweisung, um sie auszuführen. Die case-Anweisung muss nicht unbedingt eine break-Anweisung enthalten. Wenn keine break-Anweisung auftritt, führt das Programm weiterhin die nächste case-Anweisung aus, bis eine break-Anweisung auftritt.
Eine switch-Anweisung kann einen default-Zweig enthalten, der im Allgemeinen der letzte Zweig der switch-Anweisung ist (er kann überall platziert werden, es wird jedoch empfohlen, ihn zuletzt zu platzieren). Der default-Zweig wird ausgeführt, wenn kein Wert einer case-Anweisung dem Wert der Variable entspricht. Der default-Zweig benötigt keine break-Anweisung.
Wenn switch case ausgeführt wird, wird immer zuerst abgeglichen. Wenn der Abgleich erfolgreich ist, gibt es den Wert des aktuellen case zurück und bestimmt dann anhand des Vorhandenseins einer break, ob die Ausgabe fortgesetzt oder die Verzweigung verlassen wird.
Beispiel
Code der Datei Test.java:
Das Ergebnis des Kompilierens und Ausführens des obigen Codes ist wie folgt:
良好 你的等级是 C
Wenn im case-Block keine break-Anweisung vorhanden ist, gibt die JVM nicht nacheinander den Rückgabewert aus, der jedem case entspricht; stattdessen wird weiter abgeglichen, und wenn der Abgleich erfolglos ist, wird der default-Fall zurückgegeben.
Code der Datei Test.java:
Das Ergebnis des Kompilierens und Ausführens des obigen Codes ist wie folgt:
default
Wenn im case-Block keine break-Anweisung vorhanden ist, werden nach einem erfolgreichen Abgleich, ausgehend vom aktuellen case, die Werte aller nachfolgenden case-Zweige ausgegeben.
Code der Datei Test.java:
Das Ergebnis des Kompilierens und Ausführens des obigen Codes ist wie folgt:
1 2 default
Wenn der aktuell abgeglichene case-Block keine break-Anweisung enthält, werden ausgehend vom aktuellen case die Werte aller nachfolgenden case-Zweige ausgegeben. Wenn ein nachfolgender case-Block eine break-Anweisung enthält, wird die Fallunterscheidung verlassen.
Code der Datei Test.java:
Das Ergebnis des Kompilierens und Ausführens des obigen Codes ist wie folgt:
1 2 3Andere Erweiterungen