Object C数据类型

Objective-C 数据类型可以分为:基本数据类型、对象类型和 id 类型。基本数据类型有: int 、 float 、 double 和 char 类型。对象类型就是类或协议所声明的指针类型,例如: NSAutoreleasePool * pool ,其中 NSAutoreleasePool 是一个类, NSAutoreleasePool * 是它指针类型。 id 类型可以表示任何类型,一般只是表示对象类型,不表示基本数据类型,所以刚才的变量 pool 也可以声明为 id pool 。本节中我们重点介绍一下基本数据类型。 1.int 类型 int 类型代表整数,它的十六进制表示方式: 0xFFED0D ,在使用 NSLog 函数中格式化字符串使用 %i 表示十进制的整数, %o (字母 o )表示 8 进制整数, %#x 表示十六进制整数。它的取值范围是与设备相关的,无法一概而论。 2. float 类型 float 类型代表单精度浮点数,要表示 float 类型浮点数,可以在数值后面加上 f 或 F ,例如 :13.5f 。 float 浮点数也可以用科学计数法表示,例如: 1.7e4 。 NSLog 函数中格式化字符串: %f 表示浮点数, %e 表示科学计数法, %g 表示浮点数。 3. double 类型 double 类型代表双精度浮点数,与 float 类型很相似,占用的字节空间 double 类型大体上是 float 类型的两倍。大多数计算机是用 64 位表示 double 类型。 NSLog 函数中格式化字符串,与 float 的 %f 、 %e 和 %g 相同。 4. char 类型 char 类型代表字符类型,存放点个字符,用单引号引用起来。例如: 'A' ,如果要表示一些特殊字符,要使用转义字符“ \ ”。 数据类型实例如“代码清单 2-2 2.3.1-1/2.3.1-1.m ”所示。 【代码清单2-1】 2.3.1-1/2.3.1-1.m #import int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int integerVar = 100; float floatingVar = 331.79; double doubleVar = 8.44e+11; char charVar = 'W'; NSLog(@"integerVar = %i", integerVar); NSLog(@"floatingVar = %f", floatingVar); NSLog(@"doubleVar = %e", doubleVar); NSLog(@"doubleVar = %g", doubleVar); NSLog(@"charVar = %c", charVar); [pool drain]; return 0; } 输出结果如下: 2011-09-16 10:30:26.921 2.3.1[707:a0f] integerVar = 100 2011-09-16 10:30:26.923 2.3.1[707:a0f] floatingVar = 331.790009 2011-09-16 10:30:26.924 2.3.1[707:a0f] doubleVar = 8.440000e+11 2011-09-16 10:30:26.924 2.3.1[707:a0f] doubleVar = 8.44e+11 2011-09-16 10:30:26.924 2.3.1[707:a0f] charVar = W Obejctive-C 中数据类型可以在 int 、 float 、 double 和 char 类型前面加上限定词,限定词有: long 、 long long 、 short 、 unsigned 和 signed ,这些限定词从而增强了基本类型。 · long int ,在大部分计算机中代表 32 位整数,在整数后面加 L (或 l )表示,例如: long int numberOfPoints = 131071100L , NSLog 函数中格式化字符串使用 %li 表示; · long long int 可以指定更加宽泛的整数类型,保证变量至少 64 位宽度。 NSLog 函数中格式化字符串使用 %lli 表示; · long double ,可以指定更加宽泛的 double 类型,要显示这个可以在尾部使用 L (大小写)表示, 1.234e+7L 。 NSLog 函数中格式化字符串使用 %Lf 、 %Le 和 %Lg 表示; · short int 用来指定存放相对小的整数,一般是占用 int 类型的一半。大部分计算机是 16 位; · unsigned int ,告诉编译器只是接受整数,在数值之后放字母 u (或 U )表示,例如: 0x00ffU ;编写整数时候,可以将字母 u (或 U )和 l (或 L )组合起来,例如: 20000UL ; signed char ,代表的字符与编译器有关,一般也作为无符合整数使用。
posted @ 2012-05-11 12:18  坤坤同学  阅读(151)  评论(0编辑  收藏  举报