溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

object C 數(shù)據(jù)類型

發(fā)布時(shí)間:2020-06-18 00:03:06 來源:網(wǎng)絡(luò) 閱讀:988 作者:tony關(guān)東升 欄目:移動(dòng)開發(fā)

Objective-C數(shù)據(jù)類型可以分為:基本數(shù)據(jù)類型、對(duì)象類型和id類型?;緮?shù)據(jù)類型有:int、float、doublechar類型。對(duì)象類型就是類或協(xié)議所聲明的指針類型,例如:NSAutoreleasePool * pool,其中NSAutoreleasePool是一個(gè)類,NSAutoreleasePool *是它指針類型。id類型可以表示任何類型,一般只是表示對(duì)象類型,不表示基本數(shù)據(jù)類型,所以剛才的變量pool也可以聲明為id pool。本節(jié)中我們重點(diǎn)介紹一下基本數(shù)據(jù)類型。

1.int類型

int類型代表整數(shù),它的十六進(jìn)制表示方式:0xFFED0D,在使用NSLog函數(shù)中格式化字符串使用%i表示十進(jìn)制的整數(shù),%o(字母o)表示8進(jìn)制整數(shù),%#x表示十六進(jìn)制整數(shù)。它的取值范圍是與設(shè)備相關(guān)的,無法一概而論。

2. float類型

float類型代表單精度浮點(diǎn)數(shù),要表示float類型浮點(diǎn)數(shù),可以在數(shù)值后面加上fF,例如:13.5ffloat浮點(diǎn)數(shù)也可以用科學(xué)計(jì)數(shù)法表示,例如:1.7e4。NSLog函數(shù)中格式化字符串:%f表示浮點(diǎn)數(shù),%e表示科學(xué)計(jì)數(shù)法,%g表示浮點(diǎn)數(shù)。

3. double類型

double類型代表雙精度浮點(diǎn)數(shù),與float類型很相似,占用的字節(jié)空間double類型大體上是float類型的兩倍。大多數(shù)計(jì)算機(jī)是用64位表示double類型。NSLog函數(shù)中格式化字符串,與float%f%e %g相同。

4. char類型

char類型代表字符類型,存放點(diǎn)個(gè)字符,用單引號(hào)引用起來。例如: 'A',如果要表示一些特殊字符,要使用轉(zhuǎn)義字符“\”。

數(shù)據(jù)類型實(shí)例如“代碼清單2-2 2.3.1-1/2.3.1-1.m”所示。

【代碼清單2-1】   2.3.1-1/2.3.1-1.m

 

  1. #import <Foundation/Foundation.h> 
  2.  
  3. int main (int argc, const char * argv[]) { 
  4.  
  5.     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 
  6.  
  7.          int integerVar = 100; 
  8.  
  9.          float floatingVar = 331.79; 
  10.  
  11.          double doubleVar = 8.44e+11; 
  12.  
  13.          char charVar = 'W'
  14.  
  15.          
  16.  
  17.          NSLog(@"integerVar = %i", integerVar); 
  18.  
  19.          NSLog(@"floatingVar = %f", floatingVar); 
  20.  
  21.          NSLog(@"doubleVar = %e", doubleVar); 
  22.  
  23.          NSLog(@"doubleVar = %g", doubleVar); 
  24.  
  25.          NSLog(@"charVar = %c", charVar); 
  26.  
  27.          
  28.  
  29.          [pool drain]; 
  30.  
  31.     return 0; 
  32.  

輸出結(jié)果如下:

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中數(shù)據(jù)類型可以在int、float、doublechar類型前面加上限定詞,限定詞有:long、long long、shortunsignedsigned,這些限定詞從而增強(qiáng)了基本類型。

·           long int,在大部分計(jì)算機(jī)中代表32位整數(shù),在整數(shù)后面加L(或l)表示,例如:long int numberOfPoints = 131071100L,NSLog函數(shù)中格式化字符串使用%li表示;

·           long long int可以指定更加寬泛的整數(shù)類型,保證變量至少64位寬度。NSLog函數(shù)中格式化字符串使用%lli表示;

·           long double ,可以指定更加寬泛的double類型,要顯示這個(gè)可以在尾部使用L(大小寫)表示,1.234e+7L。NSLog函數(shù)中格式化字符串使用%Lf、%Le%Lg表示;

·           short int用來指定存放相對(duì)小的整數(shù),一般是占用int類型的一半。大部分計(jì)算機(jī)是16位;

·           unsigned int,告訴編譯器只是接受整數(shù),在數(shù)值之后放字母u(或U)表示,例如:0x00ffU;編寫整數(shù)時(shí)候,可以將字母u(或U)和l(或L)組合起來,例如:20000UL;

signed char,代表的字符與編譯器有關(guān),一般也作為無符合整數(shù)使用。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI