switch case用來判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支
switch case規則:
-
switch語句中變量類型可以是:byte、short、int、char。從Java SE 7開始,switch支持String類型,同時case必須為字符串常量
-
switch語句可以擁有多個case,每個case后面跟一個要比較的值和冒號
-
case語句中的值的數據類型必須與變量的數據類型相同
-
當變量的值與case語句的值相等,case語句之后的語句開始執行,直到出現break語句才會跳出switch
-
當遇到break時,switch終止。程序跳轉到switch后面的語句執行。case不必須要包含break。如果沒有break出現,程序會繼續執行下一條case,直到出現break
-
switch可以包含一個default分支,該分支是switch的最后一個分支,該分支可以在任何位置,但建議寫在最后。default在沒有case的值和變量相等時執行。default不需要break。
語法:
switch(expression){
case value :
//語句
break; //可選
case value :
//語句
break; //可選
//可以有任意數量的case
default: //可選
//語句
}
switch case執行時,一定會先進行匹配。匹配成功返回當前case,再根據是否有break,判斷是否需要繼續輸出,或者跳出判斷
實例:
public class SwitchDemo01 {
public static void main(String[] args) {
char grade = 'C';
switch (grade){
case 'A':
System.out.println("優秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
default:
System.out.println("未知");
}
System.out.println("你的等級為:" + grade);
//Java技術學習交流群:434587027
}
}
以上代碼編譯結果如下:
及格
你的等級為:C
public class SwitchDemo01 {
public static void main(String[] args) {
char grade = 'A';
switch (grade){
case 'A':
System.out.println("優秀");
case 'B':
System.out.println("良好");
case 'C':
System.out.println("及格");
default:
System.out.println("未知");
}
System.out.println("你的等級為:" + grade);
//Java技術學習交流群:434587027
}
}
以上代碼編譯結果如下:
優秀
良好
及格
未知
你的等級為:A