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); }
以下規(guī)則適用于switch語句:
在switch語句中的表達式(expression ),用于必須有一個整體或枚舉類型或類類型,其中的類有一個單一的不可分割或枚舉類型轉換功能。
可以出現(xiàn)在switch有任意數(shù)量的case語句。每個案例后面的值進行比較和一個冒號。
constant-expression 常量表達式的case 必須是相同的數(shù)據(jù)類型的變量中的switch,并且它必須是一個常數(shù)或一個文字。
當變量被打開等于case ,這種情況下,后面的語句將執(zhí)行,直到達到一個break語句。
當達到一個break語句,終止switch語句的控制流跳轉到下一行。
并不是每一個case需要包含break。如果出現(xiàn)沒有break,控制流將下降到后面的case,直到達到break。
switch語句可以有一個可選的default case,它必須出現(xiàn)在switch 結束之前。默認情況下,可用于執(zhí)行任務 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; }
讓我們編譯和運行上面的程序,這將產(chǎn)生以下結果:
2013-09-07 22:44:26.928 demo[17555] Well done 2013-09-07 22:44:26.929 demo[17555] Your grade is B