1.格式
switch(表達式){
case 常量1:
執行語句1;
//break;
case 常量2:
執行語句2;
//break;
...
default:
執行語句n;
//break;
}
2.說明:① 根據switch表達式中的值,依次匹配各個case中的常量。一旦匹配成功,則進入相應case結構中,調用其執行語句。
當調用完執行語句以後,則仍然繼續向下執行其他case結構中的執行語句,直到遇到break關鍵字或此switch-case結構末尾結束爲止。
② break,可以使用在switch-case結構中,表示一旦執行到此關鍵字,就跳出switch-case結構
③ switch結構中的表達式,只能是如下的6種數據類型之一:
byte 、short、char、int、枚舉類型(JDK5.0新增)、String類型(JDK7.0新增)
如以下代碼即爲String類型(JDK7.0新增)JDK7之前會報錯
class SwitchCaseTest {
public static void main(String[] args) {
String season = "summer";
switch (season) {
case "spring":
System.out.println("春暖花開");
break;
case "summer":
System.out.println("夏日炎炎");
break;
case "autumn":
System.out.println("秋高氣爽");
break;
case "winter":
System.out.println("冬雪皚皚");
break;
default:
System.out.println("季節輸入有誤");
break;
}
④ case 之後只能聲明常量。不能聲明範圍。
以下代碼爲錯誤的代碼示範
class Test {
public static void main(String[] args) {
int age = 10;
switch(age){//int型
case age > 18://布爾型,不能轉換。所以會報錯
System.out.println("成年了");
break;
default:
System.out.println("未成年");
}
}
}
⑤ break關鍵字是可選的。
⑥ default:相當於if-else結構中的else.
default結構是可選的,而且位置是靈活的。