首頁 >Java >java教程 >Java中switch case 語句問題

Java中switch case 語句問題

coldplay.xixi
coldplay.xixi原創
2020-08-01 14:01:043619瀏覽

Java中switch case 語句的用法:1、switch語句可以擁有多個case語句;2、case語句中的值的資料型別必須與變數的資料型別相同,而且只能是常數或字面常數;3、遇到break語句時,switch語句終止。

Java中switch case 語句問題

Java中switch case 語句的用法:

語法

#switch case 語句語法格式如下:

switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}
#相關學習推薦:
Java影片教學

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,判斷是否繼續輸出,或跳出判斷。

實例

Test.java 檔案程式碼:

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。

Test.java 檔案程式碼:

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 的值都會輸出。

Test.java 檔案程式碼:

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 語句則會跳出判斷。

Test.java 檔案程式碼:

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

以上是Java中switch case 語句問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多