搜尋
首頁Javajava教程Java中switch case 語句問題

Java中switch case 語句問題

Aug 01, 2020 pm 02:01 PM
javaswitch case

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具