Objective-C switch語句
switch語句允許值的列表平等對變量進行測試。每個值被稱為情況下,檢查 switch case,該變量被切換。.
語法:
Objective-C 編程中的switch語句的語法如下:
switch(expression){ case constant-expression : statement(s); break; /* optional */ case constant-expression : statement(s); break; /* optional */ /* you can have any number of case statements */ default : /* Optional */ statement(s); }
以下規則適用於switch語句:
-
在switch語句中的表達式(expression ),用於必須有一個整體或枚舉類型或類類型,其中的類有一個單一的不可分割或枚舉類型轉換功能。
-
可以出現在switch有任意數量的case語句。每個案例後麵的值進行比較和一個冒號。
-
constant-expression 常量表達式的case 必須是相同的數據類型的變量中的switch,並且它必須是一個常數或一個文字。
-
當變量被打開等於case ,這種情況下,後麵的語句將執行,直到達到一個break語句。
-
當達到一個break語句,終止switch語句的控製流跳轉到下一行。
-
並不是每一個case需要包含break。如果出現冇有break,控製流將下降到後麵的case,直到達到break。
-
switch語句可以有一個可選的default case,它必須出現在switch 結束之前。默認情況下,可用於執行任務 default case 不管條件是否為真。在default case中冇有要求一定有break。
流程圖:
例子:
#import <Foundation/Foundation.h> int main () { /* local variable definition */ char grade = 'B'; switch(grade) { case 'A' : NSLog(@"Excellent! " ); break; case 'B' : case 'C' : NSLog(@"Well done " ); break; case 'D' : NSLog(@"You passed " ); break; case 'F' : NSLog(@"Better try again " ); break; default : NSLog(@"Invalid grade " ); } NSLog(@"Your grade is %c ", grade ); return 0; }
讓我們編譯和運行上麵的程序,這將產生以下結果:
2013-09-07 22:44:26.928 demo[17555] Well done 2013-09-07 22:44:26.929 demo[17555] Your grade is B