switch語法:
switch(表達式){
case 常量表達式1:
語句塊1
break;
case 常量表達式2:
語句塊2
break;
case 常量表達式3:
語句塊3
break;
………………
default:
語句塊n
break;
}
語義:先得出表達式的結果,根據結果跳轉到相應的case語句塊裏面去執行
表達式結果 == 常量表達式 就叫相應的case語句塊
如果case 後面的常量表達式沒有一個跟表達式結果對應的
那麼就跳轉到 default裏面執行語句塊
switch語句的穿透問題:
當case塊裏面不加break的時候,會發生穿透
穿透意思:就是從這個case塊裏面執行完語句後,會繼續跳到下一個case塊裏面繼續執行
所以,我們必須加break,防止穿透
break可以跳出當前的switch語句
switch的注意事項
1、表達式的類型(case語句後的值)必須是整型或可以轉變爲整型的值(short、char和int類型)。
2、 值1、值2...值n只能爲常數或常量,不能爲變量。
3、功能代碼部分可以寫任意多句。
4、 break關鍵字的意思是中斷,指結束switch語句,break語句爲可選。
5、 default語句可以寫在switch語句中的任意位置,功能類似於if語句中的else。
執行流程:在執行的過程中,如果遇到break語句,則跳出switch語句。如果沒有遇到break語句,則一直
執行到switch語句的結束。
6、case語句可以有任意多句,可以不用加括號“{}”。
7、 case後面不可以直接定義變量
8、 如果在case後面定義的變量必須加上大括號
任何可以用if語句實現的功能,絕對也可以用switch語句來實現,同樣用switch語句可以做得東西,if也完全可以
如果要判斷範圍的話用if比較方便,用switch比較麻煩,不能直接用
如果是判斷具體的某個值,並且值不是很多的時候用switch方便和簡潔