Heim  >  Artikel  >  Java  >  Problem mit der Switch-Case-Anweisung in Java

Problem mit der Switch-Case-Anweisung in Java

coldplay.xixi
coldplay.xixiOriginal
2020-08-01 14:01:043559Durchsuche

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.

Problem mit der Switch-Case-Anweisung in Java

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist ein Filter?Nächster Artikel:Was ist ein Filter?