The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks
          下面是switch的簡單寫法:
          switch(A){
          case B;
          }
          A部分中的值必須是int型的,或者是能夠自動進行飲試轉(zhuǎn)換成int型的表達式。也就是說A部分可以是byte/short/char/int型的。
          其次要強調(diào)的是該程序中B部分的值必須是單個byte/short/char/int型的值,或者是final型的變量。
          但是final型的變量也是有要求的,也即是它必須是編譯時的常量,怎么講呢,看下面的程序段:
          final int a = 0;
          final int b;
          第二個語句就是在編譯時不能夠被識別出值的變量,因為它沒有初始化,當然,這條語句也是錯誤的。
          所以總結(jié)case后的值可以是常數(shù)值或final型的值。

          再看下面的程序段:

          public class TestSwitch {
          public static void main(String[] args){
          byte a = 11;
          switch(a){// C
          case 11 : System.out.println(" 11 "); break;
          case 225 : System.out.println(" 11 "); break;// D
          }
          }
          }

          該代碼正確嗎?答案是否定的。雖然在 C 處是合法的也即是byte型的a值可以出現(xiàn)在switch中,但是 D處的語句也即是第二個case后的值是225大小超過了byte的范圍,所以是錯誤的。再就是case后的值不能出現(xiàn)重復。因此在使用中要注意。

          =====================
          再就是在使用switch-case中最容易忽視的就是忘記在每個case后處理完后忘記寫上break;語句。那它帶來的后果是什么呢,下面小程序段會告訴你:
          public class TestSwitchCase {
          public static void main(String[] args){
          byte a = 2;
          switch(a){
          case 1 : System.out.println(" A ");
          case 2 : System.out.println(" B ");
          case 3 : System.out.println(" C ");
          case 4 : System.out.println(" D ");
                          default : System.out.println(" default ");
          }
          }
          }
          =========輸出結(jié)果為:
           B 
           C 
           D 
           default 
          --------------------------
          看到了嗎?連default都執(zhí)行,注意結(jié)束符break;就OK了。
          posted on 2014-01-06 14:59 Eric_jiang 閱讀(340) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 香河县| 荣成市| 贵定县| 常德市| 武强县| 闻喜县| 札达县| 伊金霍洛旗| 和田市| 滨州市| 洪雅县| 龙泉市| 蕉岭县| 滦平县| 屏东市| 葫芦岛市| 平江县| 许昌市| 榕江县| 龙口市| 庆元县| 泗阳县| 布尔津县| 元朗区| 静宁县| 达尔| 平邑县| 中阳县| 安顺市| 中牟县| 南靖县| 申扎县| 陆河县| 沙河市| 佛山市| 石河子市| 肥西县| 汶上县| 饶阳县| 兴和县| 武城县|