黑马程序员------C和OC的差异

来源:互联网 发布:pdg mac 编辑:程序博客网 时间:2024/06/06 02:59

 ------- android培训、java培训、iOS培训、.Net培训、期待与您交流! ----------

 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;
}



0 0
原创粉丝点击