object c_数据类型和运算符

objective-c语言区分大小写abc与Abc是两个不同的字符。

数据类型:基本数据类型(整形,字符型,浮点型,枚举型)、构造类型(数组类型,构造体类型,公用体类型)、指针类型。

八进制以0开头,十六进制以0x或0X开头。

输出类型g:自动选用%f或%e其中之一,保证输出宽度较短的格式,并且不会输出无意义的0。

char类型的值可以直接作为整形的值来使用,但它是一个8位的无符号整数,取值范围是0-255。

int类型的属性不能接受nil值。(赋值会产生错误)。

枚举值的本质是无符号整数,因此,object-c允许直接将整数值赋值给枚举变量,甚至可以直接把枚举变量当成整数使用,比如,用它们来参与四则混合运算。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        enum season{spring = 4,summer = 1,fall,winter};
        //定义两个枚举变量赋值
        enum season mylove,yourlove;
        NSLog(@"winter's worth:%u",mylove);
        NSLog(@"fall's worth:%u",winter);
        if (spring > winter) {
            NSLog(@"spring higher than winter");
        
        }
        
    }
    return 0;
}
2015-01-15 11:13:54.623 demo[430:303] winter's worth:0
2015-01-15 11:13:54.625 demo[430:303] fall's worth:3
2015-01-15 11:13:54.626 demo[430:303] spring higher than winter
Program ended with exit code: 0
u:以无符号十进制形式输出整数。枚举值没有赋值的情况下自动为零。

千万不要以为非零整数赋给bool类型的变量一定可以得到yes!不要忘了,bool类型实质上就是signed char类型。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        BOOL bo =127;
        BOOL bo1 = 128;
        BOOL bo2 = 255;
        BOOL bo3 = 256;    //出现警告,并且只要以256为周期进行循环。
        NSLog(@"bo:%d",bo);
        NSLog(@"bo1:%d",bo1);
        NSLog(@"bo2:%d",bo2);
        NSLog(@"bo3:%d",bo3);
    }
    return 0;
}
2015-01-15 11:35:17.353 BOOL类型[626:303] bo:127
2015-01-15 11:35:17.356 BOOL类型[626:303] bo1:-128
2015-01-15 11:35:17.357 BOOL类型[626:303] bo2:-1
2015-01-15 11:35:17.357 BOOL类型[626:303] bo3:0
Program ended with exit code: 0
位运算符:>>把第一个操作数的二进制码右移指定位置后,左边空出来的位以原来符号位来补充。

                   <<右边空出来的位补0

三目运算符:int z = x > y ?  x : y ;

                        return  x > y ?  1 : ( x < y ? -1 : 0 ) ;                     // x > y,返回1;x<y返回-1,其余0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值