1. 程式人生 > >1.5-Java-switch語句-case穿透

1.5-Java-switch語句-case穿透

1.switch語句

語句格式:

        switch(表示式)
        {
            case 值1:
                語句1:
                break;
            case 值2:
                語句2:
                break;
            ...
            default:
                語句n+1:
                break;
        }
   執行流程:首先用switch後面的表示式的值和case後面的值進行比較,若和值1相等則執行語句1,不相等就與case2值進行比較,若相等則執行語句2,  
   以此類推,如果到default之前沒有相等的情況則執行default中的語句結束.

2. switch後面的資料型別

    本身可以跟的型別:int,byte,short,char
    JDK5.0以後可以列舉型別
    JDK7以後可以跟String型別

3.case穿透現象

    產生這種現象的原因:由於某個case語句中缺少或者漏寫break語句所導致的結果.
例如:

這裡寫圖片描述

輸出結果:執行了case2後由於沒有break語句導致繼續執行下一條case4語句,然後遇到case4中的break語句後程序結束輸出A和B,正常情況應該是隻輸出A.

這裡寫圖片描述

以上所描述的就是switch語句中出現的case穿透現象.

4.switch語句注意事項:

      a:default在末尾的時候它裡面的break可以省略.
      b:case後面只能跟常量,不能跟變數.
      c:default可以在switch語句的任何位置.
      d:切記在case語句中缺少break會出現case穿透現象.
      e:switch語句遇見break結束,或者程式預設執行到末尾結束.