黑马程序员——C/OC—OC对比C语言的差异化

来源:互联网 发布:绝对萌域 淘宝 编辑:程序博客网 时间:2024/05/19 00:16

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ———

OC对比C语言的差异化

1、源文件对比


OC中常见的文件有两种:.h和.m的文件



2、基本语法对比

1)数据类型对比学习




2)变量的定义对比


3)流程控制语句对比


1)if else

2)switch

3)while

4)do while

5)for

         新增:增强型for循环,可以快速遍历数组、字典等集合


用法举例:


4)函数(方法)定义和声明对比

     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;



3、OC新增的数据类型介绍

1)逻辑型

    (1)Boolean

Boolean类型指的是用于存储真值和假值的变量,一般用于程序流程控制。

Boolean类型数据允许取值true或false,也可以是0或非0的整数替代true和false,这点和java语言不同。


(2)BOOL也是用作逻辑判断


查看底层代码发现,YES和NO 其实就是1和0



4、OC中的新增异常捕捉方法

@try … @catch … @finally

格式:

@try{

<#statements#>

}

@catch (NSException *ne){//捕捉最具体的异常类型

<#handler#>

}

@catch (NSException *ne){//捕获一个比较重要的异常类型。


}

@catch (id ue){//再次掷出捕获的异常。

}

@finally{//不管有没有异常finally内的代码都会执行。

<#statements#>

}

/* 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