码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C学习笔记(十二)——switch多分支语句的使用

时间:2015-07-23 15:45:44      阅读:96      评论:0      收藏:0      [点我收藏+]

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!