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
輸出結果如下:
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,代表的字元與編譯器有關,一般也作為無符合整數使用。