A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小腼腆不是错 中级黑马   /  2015-8-12 21:49  /  516 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

OC 和 C对比学习

     1)文件的差异

     2)数据类型差异

     3)关键字差异

     4)流程控制语句

        OC中并没有增加新的流程控制

        OC中提供一种增强型的for循环

        NSArray  *arr=@[@"one",@"two",@"three"];
  
        for(NSString *str in arr){
  
             NSLog(@"%@",str);
        
        }
  
    5)OC中函数的定义和声明的差异
     
       C语言中的函数

       int max(int x,int y);
      
       int max(int x,int y){
  
             return x>y?x:y;
       }
  
  
       OC中把函数称之为方法

       +(void) test;
       -(void) test;
  
       -(int)max:(int)x andY:(int) y;
  
  
  


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
     @autoreleasepool {
         
         
         NSArray  *arr=@[@"one",@"two",@"three"];
         //OC中的增强型for循环
        for(NSString *str in arr){
            
             NSLog(@"%@",str);
            
         }
         
         
     }
     return 0;
}

OC和C的差异二
1)OC中新增加的数据类型

     (1)Boolean (布林)
        作用:用来存放逻辑值 (1、真(非0)    2、假(0))
             用来做判断
        存储的值:true(真 1)    false(假 0)

         Boolean flag = true;
  
         if(flag){
  
             NSLog(@"真 %d",flag);
         }else{
  
             NSLog(@"假 %d",flag);
         }
     
  
     (2)BOOL
  
         作用:也是用来保存逻辑值
        取值:YES(真 1)   NO(假  0)

         BOOL flag2 = YES;
         if(flag2){
  
              NSLog(@"真 %d",flag);
  
         }else{
  
              NSLog(@"假 %d",flag);
         }
  
  
  
  2) OC中的异常捕捉机制

        异常: 程序运行的时候有bug
        捕捉机制:排除错误

  
     @try {
           //如果有异常
           1/0
        < #statements#>
  
           。。。。。。。
}
  @catch (NSException *exception) {
           //捕捉最具体的异常类型

        < #handler#>
  }
  @catch (NSException *ne) {
           //捕获一个比较重要的异常类型。
?
  }
  @catch (id ue) { //再次掷出捕获的异常。
}
  @finally { //不管有没有异常finally内的代码都会执行。
        < #statements#>
  }


  
  
  
  


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
     @autoreleasepool {
         
         
         //Boolean的使用
        //true 1   false  0
         Boolean flag = true;
         
         if(flag){
            
             NSLog(@"真 %d",flag);
         }else{
            
             NSLog(@"假 %d",flag);
         }

        //BOOL类型
        BOOL flag2 = YES;
         if(flag2){
            
             NSLog(@"BOOL YES 真 %d",flag2);
            
         }else{
            
             NSLog(@"BOOL NO 假 %d",flag2);
         }
         
         
         
        
     }
     return 0;
}

2 个回复

倒序浏览
已经蒙圈了...
回复 使用道具 举报
学习了,有点看不懂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马