OC语法

//    1.NSLog的使用

//    显示字符串

//    NSString * str = @"beijing";

//    NSLog(@"%@",str);

//    NSLog(@"%@",@"meihao");

//    显示浮点数

//    NSLog(@"%f",224.678);     //224.678000

//    NSLog(@"%.3f",223.8834);  //223.883


//    2.NSString

//    NSString * aStr = [[NSString alloc]initWithString:@"this is"];

//    NSLog(@"aStr %@",aStr);

//    NSLog(@"aStr %@ %@",@"ni",aStr);

    

//   3.2 实例化枚举enum并遍历

//    playerState pState = playerStatePlaying;

//    switch (pState) {

//        case playerStateOff:

//            NSLog(@"playerStateOff");

//            break;

//        case playerStatePlaying:

//            NSLog(@"playerStatePlaying");

//            break;

//        case playerStatePaused:

//            NSLog(@"playerStatePaused");

//            break;

//            

//        default:

//            break;

//    }

    

//    4.goto语句: 可以强制改变程序运行的步骤 但也因此可能会导致程序的结构混乱 所以尽量不用

//    NSLog(@"1");

//    goto state2;    //跳转到指定的标签

//    NSLog(@"2");

//    state1:         //标签

//    NSLog(@"3");

//    state2:         //标签

//    NSLog(@"4");


//    5.数组

//    二维数组 3 表示有多少行 2 表示有多少列

//    int multiArray[3][2] = {

//        {1,2},

//        {3,4},

//        {5,6}

//    };

//    for (int y = 0; y < 3; y++) {

//        for (int x = 0; x < 2; x++) {

//            NSLog(@"2array %d",multiArray[y][x]);

//        }

//    }

//    三维数组

//    int mutaArray[2][3][2] = {

//        {

//            {1,2},

//            {3,4},

//            {5,6}

//        },

//        {

//            {7,8},

//            {9,10},

//            {11,12}

//        }

//    };

//    for (int z = 0; z < 2; z++) {     //表示有多少二维数组

//        for (int y = 0; y < 3; y++) {     //表示有多少行

//            for (int x = 0; x < 2; x++) {     //表示有多少列

//                NSLog(@"3array %d",mutaArray[z][y][x]);

//            }

//        }

//    }

    

//    6.NSArray  数据类型只能用单一类型 不能够混合不同的数据类型

//    NSString * a = @"apple";

//    NSString * b = @"banana";

//    NSString * c = @"cherry";

////    创建数组

////    NSArray * array = [NSArray arrayWithObjects:a,b,c, nil];

////    创建数组的简单方法

//    NSArray * array = @[a,b,c];

////    通过对象找索引

//    NSInteger find = [array indexOfObject:b];

//    NSLog(@"banana is %ld",(long)find);

////    通过索引找对象

//    NSLog(@"array[1] is %@",[array objectAtIndex:1]);

////    获取数组的长度

//    NSInteger len = array.count;

//    NSLog(@"array的长度为%ld",len);

////    显示所有的数据

//    for (NSString * detail in array) {

//        NSLog(@"%@",detail);

//    }

    

//     7.NSMutableArray NSArray好用 是因为它可以动态的新增和删除数据

//    NSMutableArray * mutableArray = [NSMutableArray array];

//    [mutableArray addObject:@"henan"];

//    [mutableArray addObject:@"zhengzhou"];

//    [mutableArray addObject:@"anyang"];

//    [mutableArray addObject:@"hebi"];

//    遍历数组

//    for (NSString * str in mutableArray) {

//        NSLog(@"%@",str);

//    }

//    插入数据

//    [mutableArray insertObject:@"da" atIndex:1];

//    [mutableArray insertObject:@"xiao" atIndex:1];

//    遍历数组

//    for (NSString * str in mutableArray) {

//        NSLog(@"%@",str);

//    }

//    获取数组的长度

//    int len = mutableArray.count;

//    for (int i = 0; i < len; i++) {

//         NSString * str = [mutableArray objectAtIndex:i];

//        if ([str isEqualToString:@"da"]) {

//            NSLog(@"find %@",str);

//        }

//        NSLog(@"%@",str);

//    }

//    删除指定下标的数据

//    [mutableArray removeObjectAtIndex:2];

//    for (NSString * str in mutableArray) {

//        NSLog(@"%@",str);

//    }

    

//    第二种方式:初始化并添加数据

//    NSMutableArray * nmArray = [NSMutableArray arrayWithObjects:@"henan",@"zhengzhou",@"anyang",@"hebi", nil];

//    NSLog(@"%@",nmArray);

    

//    8.字典

//    int i = 299;

//    float f = 89.34;

//    NSDictionary * dict = @{

//            @"baoma":[NSDecimalNumber decimalNumberWithString:@"77777.00"],

//            @"xiali":@"no more",

//            @"fengtian":[NSNumber numberWithInt:i],

//            @"bieke":[NSNumber numberWithFloat:f]

//            };

//    遍历字典可以拿到字典的key

//    for (id key in dict) {

//        NSLog(@"there are %@ , %@ is buzhidao",dict[key],key);

//    }

    

//    9.可变字典 赋值时使用的是setObject: forKey:

//    NSMutableDictionary * nmDict = [NSMutableDictionary dictionary];

//    [nmDict setObject:[NSDecimalNumber decimalNumberWithString:@"56.89"] forKey:@"baoma"];

//    [nmDict setObject:[NSDecimalNumber decimalNumberWithString:@"99.87"] forKey:@"benci"];

//    [nmDict setObject:[NSNumber numberWithInt:23] forKey:@"aidi"];

//    [nmDict setObject:[NSNumber numberWithFloat:123.89] forKey:@"bieke"];

//    for (id key in nmDict) {

//        NSLog(@"这个价值为%@",nmDict[key]);

//    }

//    删除某条数据

//    [nmDict removeObjectForKey:@"benci"];

//    for (id key in nmDict) {

//        NSLog(@"这个价值为%@",nmDict[key]);

//    }

    

//    10.创建自己的class类型  项目中的Car.hCar.m 就是创建的class

//    Car * car = [[Car alloc]init];

//    调用方法

//    [car printInfo];

//    [car sum];

//    [car sum1:9];

//    [car sum2:9 andValue2:8];

//    [car summer];

    

//    11.id 类型 严格规定只适用于对象 注意:使用id的时候不用加*

//    id car = [[Car alloc]init];

//    [car sum];

//    [car sum1:9];

    

//    12.Class类型的继承

//    OC中只有单一继承 没有多重继承

//    Person * p = [[Person alloc]init];

//    [p eat];

//    Woman * woman = [[Woman alloc]init];

//    [woman eat];

    

//    13.super的使用

//    Person * p = [[Person alloc]init];

//    [p run];

//    Woman * woman = [[Woman alloc]init];

//    [woman run];

    

//    14.public protected private 的使用

//    他们都是针对的变量 不是针对的函数

//    Bus * bus = [[Bus alloc]init];

//    bus -> publicNumber = 20;      //赋值的方式 ->

//    bus -> privateNumber = 30;     私有的 不能运行

//    bus -> protectedNumber = 40;   保护的 不能运行

//    [bus print];

    

//    15.@property @synthesize @dynamic的使用

//    @property 声明方法 -> 头文件中声明gettersetter方法

//    @synthesize .m中有系统自动帮我们实现gettersetter方法

//    @dynamic .m中需要我们自己实现gettersetter方法

    

//    16.static 变量

//    static的用途:当应用程序离开之后,变量还保存在内存中并不会释放,可以供下次继续使用

//    变量分为三种:

//    1>全局变量:全局变量声明在主函数之外,这个变量存在于整个应用程序之中,可以全局调用,通常用来定义一些常量,不应为了方便将所有变量都设置成全局变量,否则以后会出现变量名称管理上的问题,生命周期开始于程序开始之时,终止于程序结束之时。

//    2>本地变量也就是局部变量 声明在函数之内的变量,或是声明在参数列之前的变量,声明周期开始于函数被调用之后,终止于函数运行完毕之时

//    3>块变量是指声明在某个陈述块之中的变量,在函数结束之后,就会自动清除

//    当变量声明加上static限定时,就是变成全局变量

//    Bus * bus = [[Bus alloc]init];

//    [bus printInfo]; //1

//    [bus printInfo]; //2

//    [bus printInfo]; //3


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值