switch
語句用於測試變數與值列表的相等性。每個值稱為一個case
,並檢查每個switch case
接通的變數。
語法
Objective-C編程語言中switch
語句的語法如下 -
switch(expression){
case constant-expression :
statement(s);
break; /* 可選 */
case constant-expression :
statement(s);
break; /* 可選 */
/* 可以有任意數量的case語句*/
default : /* 可選 */
statement(s);
}
以下規則適用於switch
語句 -
switch
語句中使用的運算式(expression
)必須具有整數或枚舉類型,或者是類類型,其中類具有單個轉換函數為整數或枚舉類型。- 在
switch
中包含任意數量的case
語句,每個case
後跟要與之比較的值和冒號。 case
之後的constant-expression
必須與switch
中的變數具有相同的數據類型,並且必須是常量或文字。- 當接通的變數等於
case
時,case
之後的語句將一直執行,直到達到break
語句。 - 當達到
break
語句時,switch
終止,控制流跳轉到switch
語句後面的下一行。 - 並非每個
break
都需要包含break
。 如果沒有出現break
,則控制流將進入後續case
,直到達到break
。 switch
語句可以有一個可選的默認情況,它必須出現在switch
的末尾。 當沒有任何case
匹配為真時,default
可用於執行任務。default
不需要包含break
語句。
流程圖
示例代碼
#import <Foundation/Foundation.h>
int main () {
/* 局布變數定義 */
char grade = 'B';
switch(grade) {
case 'A' :
NSLog(@"Excellent!\n" );
break;
case 'B' :
case 'C' :
NSLog(@"Well done\n" );
break;
case 'D' :
NSLog(@"You passed\n" );
break;
case 'F' :
NSLog(@"Better try again\n" );
break;
default :
NSLog(@"Invalid grade\n" );
}
NSLog(@"Your grade is %c\n", grade );
return 0;
}
執行上面示例代碼,得到以下結果:
2018-11-14 09:55:06.673 main[53795] Well done
2018-11-14 09:55:06.675 main[53795] Your grade is B
上一篇:
Objective-C決策
下一篇:
Objective-C函數