一、概述
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-hant/n/132871.html