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;