标签: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