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