一、概述
Java switch-case語句是一種條件分支語句,可以根據不同的變數值執行不同的代碼塊。它比一系列if-else語句的代碼量更少,可讀性更好,適用於有多個選項的情況。
二、語法
switch(變數表達式){ case 常量1: //執行語句1 break; case 常量2: //執行語句2 break; case 常量3: //執行語句3 break; default: //執行默認語句 }
三、示例
int day = 3; switch(day){ case 1: System.out.println("周一"); break; case 2: System.out.println("周二"); break; case 3: System.out.println("周三"); break; default: System.out.println("其他"); }
輸出結果為「周三」。
四、注意事項
1、case語句必須是整數常量表達式
case語句中的變數必須是整數類型或可以自動轉換為整數類型的類型,如byte、short、int、char、枚舉類型等。
2、重複的case語句
在一個switch語句中,case語句中的變數值不能相同,否則會出現編譯錯誤。
int day = 2; switch(day){ case 1: System.out.println("周一"); break; case 2: System.out.println("周二"); break; case 2: System.out.println("周三"); break; default: System.out.println("其他"); }
輸出會出現編譯錯誤:「Duplicate case label ‘2’」。
3、break語句的作用
在每一個case語句塊結束之後,必須加上break語句。否則,程序會繼續執行下一個case語句塊,直到遇到break語句或是整個switch語句塊執行完畢。
4、default語句的作用
default語句不是必須的,但是在一些情況下,它可以替代if-else語句的最後一個else塊,執行一些默認的操作。
5、嵌套switch語句
在一個switch塊中可以嵌套另一個switch塊,但是要注意變數重名和break語句的使用。
int i = 2; int j = 3; switch(i){ case 1: switch(j){ case 2: System.out.println("case1-2"); break; default: System.out.println("case1-default"); } break; case 2: System.out.println("case2"); break; default: System.out.println("default"); }
如果i=1且j=2,輸出結果為「case1-2」;如果i=1且j=3,輸出結果為「case1-default」;如果i=2,輸出結果為「case2」;如果i和j都不在上述條件中,輸出結果為「default」。
五、總結
Java switch語句是一種常用的條件分支語句,可根據變數值執行不同的代碼塊,代碼可讀性強。需要注意的是,case語句中的變數必須是整數類型或可以自動轉換為整數類型的類型;case語句中的變數值不能相同;每一個case語句塊結束之後,必須加上break語句;default語句可以替代if-else語句的最後一個else塊;在一個switch塊中可以嵌套另一個switch塊。
原創文章,作者:BQNW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/132871.html