标签:objective-c xcode 语法 switch
其实同C语言和Java,OC中也是有switch多分支语句,也可称之为开关语句。语法也是极为相似的。下面我们来慢慢研究switch。
(一)代码一:
int main(int argc, const char * argv[]) {
@autoreleasepool {
int i=6;
switch (i) {
case 1:
NSLog(@"星期一");
break;
case 2:
NSLog(@"星期二");
break;
case 3:
NSLog(@"星期三");
break;
case 4:
NSLog(@"星期四");
break;
case 5:
NSLog(@"星期五");
break;
case 6:
NSLog(@"星期六");
break;
case 7:
NSLog(@"星期七");
break;
}
}
return 0;
}。
结果分析:其实switch语句完全可以使用if-else if语句来实现,只是代码量看起来会比较冗余,显得不那么cool。所以需要使用switch。switch语句就是来进行变量匹配,匹配到哪个case语句下面,就执行那个case下面的语句。遇到break,就退出整个switch,否则会继续执行下去。
(二)代码二:
int main(int argc, const char * argv[]) {
@autoreleasepool {
int i=3;
switch (i) {
case 1:
NSLog(@"星期一");
case 2:
NSLog(@"星期二");
case 3:
NSLog(@"星期三");
case 4:
NSLog(@"星期四");
case 5:
NSLog(@"星期五");
case 6:
NSLog(@"星期六");
case 7:
NSLog(@"星期七");
}
}
return 0;
}。
结果分析:如果在switch中没有break语句,在case匹配到一个值时,并不会马上退出switch,而是会继续顺序执行下面所有的case下的语句。
(三)代码三:
int main(int argc, const char * argv[]) {
@autoreleasepool {
int i=9;
switch (i){
case 1:
NSLog(@"星期一");
break;
case 2:
NSLog(@"星期二");
break;
case 3:
NSLog(@"星期三");
break;
case 4:
NSLog(@"星期四");
break;
case 5:
NSLog(@"星期五");
break;
case 6:
NSLog(@"星期六");
break;
case 7:
NSLog(@"星期七");
break;
default:
NSLog(@"发生错误");
break;
}
}
return 0;
}。
结果分析:如果一个变量没有匹配case中的任何内容,那么最后将会匹配default。输出default中的内容。
总结下,个人觉得switch语句的缺点就是不能在case后面进行条件判断,这一点是区别于if-else if 的。只能是一个具体的值,不能是一个范围。
版权声明:本文为博主原创文章,未经博主允许不得转载。
Objective-C学习笔记(十二)——switch多分支语句的使用
标签:objective-c xcode 语法 switch
原文地址:http://blog.csdn.net/chenyufeng1991/article/details/47021241