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
上一篇:
java中方法重載和方法重寫的區別
下一篇:無