Objective-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 <Foundation/Foundation.h> 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; }
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,代表的字符与编译器有关,一般也作为无切合整数利用。