Die Switch-Anweisung ist eine Switch-Anweisung mit einer einzelnen Bedingung und mehreren Verzweigungen. Das Syntaxformat ist wie folgt:
switch (Ausdruck) {case konstanter Wert 1: Anweisung 2; break;... case konstanter Wert n: Anweisung n; Aussage n+1;}
Der Wert von „Ausdruck“ in der Switch-Anweisung kann vom Typ Byte, Short, Int oder Char sein. „Konstanter Wert 1“ bis „Konstanter Wert n“ sind ebenfalls vom Typ Byte, Short, Int oder Char und müssen dies auch tun voneinander verschieden sein.
Die Switch-Anweisung berechnet zunächst den Wert des Ausdrucks, wenn der Wert des Ausdrucks nach einem bestimmten Fall gleich dem konstanten Wert ist, und die Anweisungen in diesem Fall werden ausgeführt, bis die Break-Anweisung auftritt. Wenn in einem Fall keine Break-Anweisung verwendet wird, führt das Programm, sobald der Wert des Ausdrucks gleich dem konstanten Wert hinter dem Fall ist, nicht nur die Anweisungen in dem Fall aus, sondern führt auch weiterhin Anweisungen in nachfolgenden Fällen aus, bis der Es wurde eine Break-Anweisung gefunden. Wenn der Wert des Ausdrucks in der Switch-Anweisung in keinem Fall mit dem konstanten Wert übereinstimmt, wird die Anweisung nach dem Standardwert ausgeführt. Der Standardwert in der Switch-Anweisung ist optional. Wenn er nicht vorhanden ist und der Wert des Ausdrucks in der Switch-Anweisung in keinem Fall mit dem konstanten Wert übereinstimmt, führt die Switch-Anweisung keine Verarbeitung durch.
Das gemeinsame Merkmal der if-bedingten Verzweigungsanweisungen, die wir zuvor kennengelernt haben, besteht darin, dass sie sich dafür entscheiden, eine Verzweigungsoperation basierend auf einer oder mehreren Bedingungen auszuführen, anstatt sich für die Ausführung mehrerer Verzweigungsoperationen zu entscheiden. In der Switch-Anweisung können Sie durch rationale Verwendung der Break-Anweisung das Ergebnis der Ausführung einer Verzweigung oder mehrerer Verzweigungsoperationen basierend auf einer Bedingung erzielen.
Beispiel:
publicclassMain{publicstaticvoidmain(Stringargs[]){chargrade='B';switch(grade){case'A':System.out.println(excellent);break;case'B':System.out.println(good); break;case'C':System.out.println(passed);break;default:System.out.println(unknown);}}}
Die Laufergebnisse sind wie folgt:
Gut