Java的 Switch Case 語句,可以理解為分支
例子 假設打麻將有四個人 編號為 1 2 3 4 對應名字為 張三,李四,王五,趙六
數據結構
switch(expression){ case value : //語句 break; //可選 case value : //語句 break; //可選 //你可以有任意數量的case語句 default : //可選 //語句 }
例子代碼
int code = 2; switch(code){ case 1: System.out.println("我是張三"); break; case 2: System.out.println("我是李四"); break; case 3: System.out.println("我是王五"); break; case 4: System.out.println("我是趙六"); break; default: System.out.println("我只是個看客"); }
輸出
我是李四
break 表示退出,當滿足某個case的時候,停止下方其他case。
上面的執行流程為
問:code 是多少 執行 case 1 發現不滿足 執行 case 2 發現滿足,立即退出switch
如果不寫break
int code = 2; switch(code){ case 1: System.out.println("我是張三"); case 2: System.out.println("我是李四"); case 3: System.out.println("我是王五"); case 4: System.out.println("我是趙六"); default: System.out.println("我只是個看客"); }
輸出
我是李四 我是王五 我是趙六 我只是個看客
程序流程
問:code 是多少 執行 case 1 發現不滿足 執行 case 2 發現滿足,輸出 執行 case 3 不判斷是否滿足,輸出 執行 case 4 不判斷是否滿足,輸出 執行 default 不判斷是否滿足,輸出
如果沒有break當前的case一旦判斷成功,后續的case都會被執行。
要點:
1. Switch的流程控制,有點象if else 但是在執行效率在多層判斷情況下會比if else 高
2. Break 很關鍵
3. Switch Case里的值不能重復 不能case 1: 下一個繼續 case 1: