天天看點

Java入門 - 語言基礎 - 11.switch_caseswitch_case

原文位址: http://www.work100.net/training/java-switch-case.html 更多教程: 光束雲 - 免費課程

switch_case

序号 文内章節 視訊
1 概述 -

請參照如上

章節導航

進行閱讀

1.概述

switch case

語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。

文法

switch case 語句文法格式如下:

switch(expression){
    case value :
       //語句
       break; //可選
    case value :
       //語句
       break; //可選
    //你可以有任意數量的case語句
    default : //可選
       //語句
}           

switch case

語句有如下規則:

  • switch

    語句中的變量類型可以是:

    byte

    short

    int

    或者

    char

    。從 Java SE 7 開始,

    switch

    支援字元串

    String

    類型了,同時

    case

    标簽必須為字元串常量或字面量。
  • switch

    語句可以擁有多個

    case

    語句。每個

    case

    後面跟一個要比較的值和冒号。
  • case

    語句中的值的資料類型必須與變量的資料類型相同,而且隻能是常量或者字面常量。
  • 當變量的值與

    case

    語句的值相等時,那麼

    case

    語句之後的語句開始執行,直到

    break

    語句出現才會跳出

    switch

    語句。
  • 當遇到

    break

    語句時,

    switch

    語句終止。程式跳轉到

    switch

    語句後面的語句執行。

    case

    語句不必須要包含

    break

    語句。如果沒有

    break

    語句出現,程式會繼續執行下一條

    case

    語句,直到出現

    break

  • switch

    語句可以包含一個

    default

    分支,該分支一般是

    switch

    語句的最後一個分支(可以在任何位置,但建議在最後一個)。

    default

    在沒有

    case

    語句的值和變量值相等的時候執行。

    default

    分支不需要

    break

switch case

執行時,一定會先進行比對,比對成功傳回目前

case

的值,再根據是否有

break

,判斷是否繼續輸出,或是跳出判斷。

執行個體

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);
   }
}           

以上代碼編譯運作結果如下:

良好
你的等級是 C           

如果

case

語句塊中沒有

break

語句時,JVM 并不會順序輸出每一個

case

對應的傳回值,而是繼續比對,比對不成功則傳回預設

case

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");
      }
   }
}           
default           

case

break

語句時,比對成功後,從目前

case

開始,後續所有

case

的值都會輸出。

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");
      }
   }
}           
1
2
default           

如果目前比對成功的

case

語句塊沒有

break

語句,則從目前

case

case

的值都會輸出,如果後續的

case

語句塊有

break

語句則會跳出判斷。

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");
      }
   }
}           
1
2
3           

上一篇:

條件語句

下一篇:

Number和Math類
如果對課程内容感興趣,可以掃碼關注我們的

公衆号

QQ群

,及時關注我們的課程更新
Java入門 - 語言基礎 - 11.switch_caseswitch_case
Java入門 - 語言基礎 - 11.switch_caseswitch_case