1. 程式人生 > >switch用法和支援的資料型別

switch用法和支援的資料型別

第一次寫部落格,記錄一些自己學習中的知識點.

switch語句格式:

switch(表示式){
        case 值1:
            語句體1;
            break;
        case 值2:
            語句體2;
            break;
        default:
            語句體n+1;
            break;
        }

switch()變數型別只能是int short byte char 合enum型別(但是在JDK1.7以後也可以是String.當進行case判斷時,JVM會自動掃描,尋找匹配的case.可能出現幾種情況.

一:沒有匹配的case,有break執行預設

        iint a=2;
        switch(a){
        case 3:
            b++;
            break;
        case 4:
            b++;
            break;
        default:
            a++;
            break;
        }

輸出default;

二:沒有匹配的case 沒有break

int a=2;
        switch(a){
        case 3:
            System.out.println("a");
        case 4:
            System.out.println("c");
        default:
            System.out.println("b");
        }
   輸出default 

三:case匹配成功 沒有break 會從匹配成功的case開始執行,依次返回後面所有的case的返回值

int a=3;
        switch(a){
        case 3:
            System.out.println("a");
        case 4:
            System.out.println("c");
        default:
            System.out.println("b");
        }

輸出a,b,c

四:當case匹配成功後,會從匹配成功的case開始執行 知道執行到break跳出判斷語句.

int a=3;
        switch(a){
        case 3:
            System.out.println("a");
        case 4:
            System.out.println("c");
            break;
        default:
            System.out.println("b");
        }

輸出:a,c

因此switch語句 case執行時一定會掃描匹配 匹配成功後返回成功值 .然後在根據是否有break結束語句 有break語句結束判斷 沒有break語句接著往下執行直到判斷結束.