Java中的switch-case語句的一般格式舉例說明
java中switch-case語句的一般格式如下:
[java]?view
plain?copy
switch(參數(shù))?{??
????case?常量表達(dá)式1:?break;??
????case?常量表達(dá)式2:?break;??
????...??
????default:?break;??
}??
note:
switch接受的參數(shù)類型有10種,分別是基本類型的byte,short,int,char,以及引用類型的String(只有JavaSE 7 和以后的版本 可以接受String類型參數(shù)),enum和byte,short,int,char的封裝類Byte,Short,Integer,Character
case 后緊跟常量表達(dá)式,不能是變量。
default語句可有可無,如果沒有case語句匹配,default語句會被執(zhí)行。
case語句和default語句后的代碼可不加花括號。
如果某個(gè)case語句匹配,那么case后面的語句塊會被執(zhí)行,并且如果后面沒有break關(guān)鍵字,會繼續(xù)執(zhí)行后面的case語句代碼和default,直到遇見break或者右花括號。
具體例子如下:
[java]?view plain?copy package?sampleTest;?? ?? public?class?TestSwitch?{?? ????public?static?void?main(String[]?args)?{?? ????????int?count?=?0;?? ????????switch?(count)?{?? ????????case?0:?? ????????????System.out.println("case0");?? ????????case?1:?? ????????????System.out.println("case1");?? ????????case?2:?? ????????????System.out.println("case2");?? ????????????break;?? ????????case?3:?? ????????????System.out.println("case3");?? ????????default:?? ????????????System.out.println("default!");?? ????????}?? ?????????? ????????System.out.println("-------------------");?? ?????????? ????????String?msg?=?"dragon";?? ????????switch?(msg)?{?? ????????case?"rabbit":?? ????????????System.out.println("rabbit?");?? ????????case?"dragon":?? ????????????System.out.println("happy?new?year");?? ????????default:?? ????????????System.out.println("what??");?? ????????case?"monkey":?? ????????????System.out.println("monkey");?? ????????????break;?? ????????case?"tiger":?? ????????????System.out.println("tiger!!");?? ????????}?? ????}?? }?? 輸出如下:
case0
case1
case2
-------------------
happy new year
what ?
monkey
上面例子說明了兩個(gè)問題,第一個(gè)是不加break的后果,第二個(gè)是default的位置對執(zhí)行的影響。