1. 程式人生 > 其它 >Java中switch case的使用

Java中switch case的使用

switch case語句

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

如果case中沒有break語句,匹配成功後,從當前case開始,後續的所有case都會被輸出

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