選擇(分支)結構的分類:if
結構和switch
結構
switch語句的格式:
switch(表達式){
case 值1:
語句一;
break;
case 值2:
語句二;
break;
case 值3:
語句三;
break;
...
default:
語句體 n+1;
break;
}
說明:
switch...case
表達式支持byte
、short
、int
、char
、String
(從JDK1.7開始支持字符串)- 可以用
switch..case
語句實現的一定可以用if…else語句實現。
執行流程:先計算表達式的值,然後和case後面的匹配,如果有就執行對應的語句,否則指定default控制的語句。
注意事項:
1、case後面只能是常量,不能是變量,而且,多個case後面的值不能出現相同的。
2、default可以省略嗎?
- 可以省略,但是不建議,因爲它的作用是對不正確的情況給出提示。
- 特殊情況:
case
就可以把值固定時,default
可以省略。
3、break可以省略嗎?
- 最後一個可以省略,其他的最好不要省略
- 會出現
case
穿透現象,最終我們建議不要省略。
4、default一定要在最後嗎?
- 不是,可以在任意位置(也是最後執行),但是建議在最後。
5、switch語句的結束條件:
- 遇到
break
就結束了。 - 執行到
switch
的右大括號就結束了。
6、總結switch語句和if語句的各自使用場景:
switch..case
建議判斷固定值的時候使用if..else
建議判斷區間或範圍的時候使用