天天看點

switch語句及其注意事項switch語句及switch注意事項switch語句需要注意的地方:

switch語句及switch注意事項

switch語句

   switch文法:

           switch(表達式){

               case 常量表達式1:

                   語句塊1

                   break;

                case 常量表達式2:

                    語句塊2

                    break;

                case 常量表達式3:

                    語句塊3

                    break;

                ………………

                default:

                    語句塊n

                    break;

           }

    語義:先得出表達式的結果,根據結果跳轉到相應的case語句塊裡面去執行

               表達式結果  == 常量表達式  就叫相應的case語句塊

               如果case 後面的常量表達式沒有一個跟表達式結果對應的

               那麼就跳轉到 default裡面執行語句塊n

 switch語句的穿透問題:

       當case塊裡面不加break的時候,會發生穿透

       穿透意思:就是從這個case塊裡面執行完語句後,會繼續跳到下一個case塊裡面繼續執行

       是以,我們必須加break,防止穿透

       break可以跳出目前的switch語句

       穿透問題的技巧:可以利用穿透将同一結果的case放在一起,類似于if(表達式)中使用||。

例:

 switch文法:

            switch(表達式){

                case 常量表達式1:

                case 常量表達式2:

                case 常量表達式3:

                    語句塊1

                    break;

                 case 常量表達式4:

                case 常量表達式5:

                case 常量表達式6:

                    語句塊2

                    break;

                ………………

                default:

                    語句塊n

                    break;

           }

switch語句需要注意的地方:

   1.switch語句後面的小括号隻能寫整數類型的表達式,否則會報錯

   2.case後面隻能接常量表達式

   3.case後面的常量表達式不能有重複的值

   4.switch小括号後面不要加分号,可以加分号加在大括号後面

   5.case後面不能立即聲明變量,除非在聲明前面加一條或者N條語句

   6.非要在 case後面立即聲明變量怎麼辦??那麼就在case塊裡面加一個大括号

   7.如果不加大括号聲明的變量,其他case塊也可以通路

   8.default可以寫在任意位置,不影響結果

if 語句與switch語句的互換:

任何可以用if語句實作的功能,絕對也可以用switch語句來實作,同樣用switch語句可以做得東西,if也完全可以

 如果要判斷範圍的話用if比較友善,用switch比較麻煩,不能直接用

 如果是判斷具體的某個值,并且值不是很多的時候用switch友善和簡潔