switch(expression){ case value : //語句 break; //可選 case value : //語句 break; //可選 //你可以有任意數量的case語句 default : //可選 //語句 }
switch語句有如下規則:
- switch語句中的變量類型只能為byte、short、int或者char。
- switch語句可以擁有多個case語句。每個case后面跟一個要比較的值和冒號。
- case語句中的值的數據類型必須與變量的數據類型相同,而且只能是常量或者字面常量。
- 當變量的值與case語句的值相等時,那么case語句之后的語句開始執行,直到break語句出現才會跳出switch語句。
- 當遇到break語句時,switch語句終止。程序跳轉到switch語句后面的語句執行。case語句不必須要包含break語句。如果沒有break語句出現,程序會繼續執行下一條case語句,直到出現break語句。
- switch語句可以包含一個default分支,該分支必須是switch語句的最后一個分支
- default在沒有case語句的值和變量值相等的時候執行。default分支不需要break語句。
-
int i=5; switch(i){ default: System.out.println("default part"); case 6: System.out.println("first case"); case 7: System.out.println("second case"); } System.out.println("----"); switch(i){ default: System.out.println("default part"); case 5: System.out.println("first case"); case 7: System.out.println("second case"); }
測試結果:
-
default part
first case
second case
----
first case
second case
--
從結果可以得之: switch 第一先找尋所有的case, 一旦有等於的 就從這個case一直執行直道看到break 結束。 如果沒有符合的case, 走default, 也是一直到break結束。
