Heim >Java >javaLernprogramm >Problem mit der Switch-Case-Anweisung in Java
Verwendung der Switch-Case-Anweisung in Java: 1. Die Switch-Anweisung kann mehrere Case-Anweisungen haben. 2. Der Datentyp des Werts in der Case-Anweisung muss mit dem Datentyp der Variablen identisch sein Es kann nur eine Konstante oder eine Literalkonstante sein. 3. Wenn eine Break-Anweisung auftritt, wird die Switch-Anweisung beendet.
Verwendung der Switch-Case-Anweisung in Java:
Syntax
Das Syntaxformat der Switch-Case-Anweisung lautet wie folgt:
switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 }
Verwandte Lernempfehlungen: Java-Video-Tutorial
Die Switch-Case-Anweisung hat die folgenden Regeln:
Der Variablentyp in der Switch-Anweisung kann sein: Byte, Short, Int oder Char. Ab Java SE 7 unterstützt der Switch den String-Typ und die Fallbezeichnung muss eine String-Konstante oder ein Literal sein.
Eine switch-Anweisung kann mehrere case-Anweisungen haben. Auf jeden Fall folgt ein zu vergleichender Wert und ein Doppelpunkt.
Der Datentyp des Werts in der Case-Anweisung muss mit dem Datentyp der Variablen identisch sein und kann nur eine Konstante oder eine Literalkonstante sein.
Wenn der Wert der Variablen dem Wert der Case-Anweisung entspricht, werden die Anweisungen nach der Case-Anweisung ausgeführt und die Switch-Anweisung springt erst nach der Pause heraus Anweisung erscheint.
Die switch-Anweisung wird beendet, wenn eine break-Anweisung angetroffen wird. Das Programm springt zur Ausführung zur Anweisung, die auf die switch-Anweisung folgt. Die case-Anweisung muss keine break-Anweisung enthalten. Wenn keine Break-Anweisung auftritt, setzt das Programm die Ausführung der nächsten Case-Anweisung fort, bis eine Break-Anweisung auftritt.
Die Switch-Anweisung kann einen Standardzweig enthalten, der im Allgemeinen der letzte Zweig der Switch-Anweisung ist (kann sich an jeder Position befinden, es wird jedoch empfohlen, der letzte Zweig zu sein). Standardmäßig wird ausgeführt, wenn keine case-Anweisung dem Variablenwert entspricht. Der Standardzweig erfordert keine break-Anweisung.
Wenn der Switch-Fall ausgeführt wird, wird er zuerst abgeglichen. Wenn die Übereinstimmung erfolgreich ist, wird der Wert des aktuellen Falls zurückgegeben, je nachdem, ob eine Unterbrechung vorliegt , wird beurteilt, ob die Ausgabe fortgesetzt oder aus dem Urteil herausgesprungen werden soll.
Instanz
Test.java-Dateicode:
public class Test { public static void main(String args[]){ //char grade = args[0].charAt(0); char grade = 'C'; switch(grade) { case 'A' : System.out.println("优秀"); break; case 'B' : case 'C' : System.out.println("良好"); break; case 'D' : System.out.println("及格"); break; case 'F' : System.out.println("你需要再努力努力"); break; default : System.out.println("未知等级"); } System.out.println("你的等级是 " + grade); } }
Die Ergebnisse der obigen Codekompilierung und Ausführung lauten wie folgt:
良好 你的等级是 C
Wenn im case-Anweisungsblock keine break-Anweisung vorhanden ist, gibt die JVM den jedem Fall entsprechenden Rückgabewert nicht nacheinander aus, sondern stimmt weiterhin überein. Wenn die Übereinstimmung nicht erfolgreich ist, wird der Standardfall zurückgegeben .
Test.java-Dateicode:
public class Test { public static void main(String args[]){ int i = 5; switch(i){ case 0: System.out.println("0"); case 1: System.out.println("1"); case 2: System.out.println("2"); default: System.out.println("default"); } } }
Die Kompilierungs- und Ausführungsergebnisse des obigen Codes lauten wie folgt:
Standard
Wenn es keine Pause gibt Anweisung im Case-Anweisungsblock, Matching Nach Erfolg werden ausgehend vom aktuellen Case die Werte aller nachfolgenden Cases ausgegeben.
Test.java-Dateicode:
public class Test { public static void main(String args[]){ int i = 1; switch(i){ case 0: System.out.println("0"); case 1: System.out.println("1"); case 2: System.out.println("2"); default: System.out.println("default"); } } }
Die Kompilierungs- und Ausführungsergebnisse des obigen Codes lauten wie folgt:
1 2 default
Wenn der aktuelle erfolgreich übereinstimmende case-Anweisungsblock nicht vorhanden ist Eine Break-Anweisung beginnt mit dem aktuellen Fall. Alle nachfolgenden Case-Werte werden ausgegeben. Wenn der nachfolgende Case-Anweisungsblock eine Break-Anweisung enthält, wird das Urteil herausgesprungen.
Test.java-Dateicode:
public class Test { public static void main(String args[]){ int i = 1; switch(i){ case 0: System.out.println("0"); case 1: System.out.println("1"); case 2: System.out.println("2"); case 3: System.out.println("3"); break; default: System.out.println("default"); } } }
Das Ergebnis des Kompilierens und Ausführens des obigen Codes ist wie folgt:
1 2 3
Das obige ist der detaillierte Inhalt vonProblem mit der Switch-Case-Anweisung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!