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 表达式必须具有整型或枚举类型,或者属于类类型,其中该类具有到整型或整型的单个转换函数 枚举类型。
您可以在一个开关中包含任意数量的 case 语句。 每个案例后跟要比较的值和一个冒号。
case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,并且必须是常量或文字。
当打开的变量等于一个 case 时,该 case 之后的语句将执行,直到到达 break 语句。
当到达 break 语句时,switch 终止,控制流跳转到 switch 语句之后的下一行。
不是每个 case 都需要包含一个break。 如果没有出现break,控制流将落入到后续的情况,直到达到break。
一个 switch 语句可以有一个可选的 default case,它必须出现在 switch 的末尾。default 案例可用于在所有案例都不为真时执行任务。 default 默认情况下不需要break。
流程图
示例
#import <Foundation/Foundation.h> int main () { /* local variable definition */ 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; }
当上面的代码被编译和执行时,会产生如下结果 −
2013-09-07 22:44:26.928 demo[17555] Well done 2013-09-07 22:44:26.929 demo[17555] Your grade is B
objective_c_decision_making.html