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函數
