switch
語句計算表示式,並將表示式的值與case
子句指定的值匹配,然後執行與該case
相關的語句。
以下是switch/case語句的語法。
switch(variable_expression) {
case constant_expr1: {
// statements;
}
break;
case constant_expr2: {
//statements;
}
break;
default: {
//statements;
}
break;
}
針對switch語句中的所有case
測試variable_expression
的值。如果變數與其中一個case
匹配,則執行相應的程式碼塊。如果case
表示式與variable_expression
的值不匹配,則執行default
塊中的程式碼。
以下規則適用於switch
語句 -
switch
中可以有任意數量的case
語句。case
語句只能包含常數,它不能是變數或表示式。variable_expression
和常數表示式的資料型別必須匹配。break
語句,否則執行會流入下一個break
塊。case
表示式必須是唯一的。default
塊是可選的。switch...case
語句的流程圖如下 -
範例
void main() {
var grade = "A";
switch(grade) {
case "A": { print("相當牛逼"); }
break;
case "B": { print("厲害"); }
break;
case "C": { print("一般"); }
break;
case "D": { print("二愣子"); }
break;
default: { print("Invalid choice"); }
break;
}
}
該範例根據常數集(A,B,C,D和E)驗證變數等級的值,並執行相應的塊。如果變數中的值與上面提到的任何常數都不匹配,則將執行預設(default
)塊。
執行上述程式碼後,將得到以下輸出 -
相當牛逼