switch
語句用於測試變數與值列表的相等性。 每個值稱為一個case
,並且針對每種情況檢查對應的變數值。
語法
增強for
迴圈的語法是 -
switch(expression) {
case value :
// 執行語句塊
break; // 可選
case value :
// 執行語句塊
break; // 可選
// 可以擁有任意數量的 case 語句。
default : // 可選
// 執行語句塊
}
以下是適用於switch
語句的規則 -
switch
語句中使用的變數只能是整數,可轉換為整數(如:byte
,short
,char
),字串和列舉型別。switch
中包含任意數量的case
語句。每個case
後跟要與之比較的值和冒號。case
的值必須與switch
中的變數具有相同的資料型別,並且必須是常數或文字。switch
的變數等於case
中的值時,該case
之後的語句將一直執行,直到達到break
語句。break
語句時switch
終止,控制流跳轉到switch
語句塊後面的下一行程式碼。case
都需要包含break
語句。 如果沒有指定break
語句,則控制流將落到後續case
中,直到達到break
語句。switch
語句可以有一個可選的default
,它必須出現在switch
語句的末尾。 當沒有任何case
匹配時,執行default
中的程式碼塊。default
中不需要break
語句。範例1
public class SwitchExample {
public static void main(String[] args) {
// 為switch表示式宣告一個變數
int number = 20;
// Switch表示式
switch (number) {
// Case語句
case 10:
System.out.println("10");
break;
case 20:
System.out.println("20");
break;
case 30:
System.out.println("30");
break;
// Default case statement
default:
System.out.println("Not in 10, 20 or 30");
}
}
}
執行上面範例程式碼,得到以下結果:
20
範例2
public class SwitchExample {
public static void main(String args[]) {
// char grade = args[0].charAt(0);
char grade = 'B';
switch (grade) {
case 'A':
System.out.println("相當優秀!");
break;
case 'B':
case 'C':
System.out.println("一般優秀");
break;
case 'D':
System.out.println("還不錯");
case 'F':
System.out.println("好像不太行");
break;
default:
System.out.println("無效級別");
}
System.out.println("您的級別是:" + grade);
}
}
執行上面範例程式碼,得到以下結果:
一般優秀
您的級別是:B