溫馨提示×

溫馨提示×

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

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

Objective-C基礎(chǔ)之基本數(shù)據(jù)類型

發(fā)布時間:2020-07-22 06:59:22 來源:網(wǎng)絡(luò) 閱讀:656 作者:hlr18100403 欄目:開發(fā)技術(shù)

  Objective-C是C語言的超集,故基本類型是一樣的,所以學(xué)過C語言的朋友,在面對Objective-C時也不會太陌生,畢竟數(shù)據(jù)類型是一樣的,只不過對數(shù)據(jù)的處理方法不一樣,那么我們就來一起學(xué)習(xí)下基本數(shù)據(jù)類型,為整個Objective-C的學(xué)習(xí)打好基礎(chǔ)


 整個數(shù)據(jù)類型如下圖所示

Objective-C基礎(chǔ)之基本數(shù)據(jù)類型

可以看到基本的數(shù)據(jù)類型包括 ×××,字符型,浮點(diǎn)型,枚舉型,此篇博文就主要概述這四種類型

1.×××

整型包括如下幾種具體的類型

  • short int

  • int

  • long int

  • long long 

最常用的就是int了,其余三種我們平時用得少,但并不是不用,

  • short int在內(nèi)存中占16位,取值范圍是-2的15次方到2得15次方,

  • int類型在內(nèi)存中占32位,取值范圍是-2的31次方到2的31次方,

  • long int在內(nèi)存中占64位,取值范圍是-2的63次方到2得63次方。

  • long long和long int 差不多,也是內(nèi)存占64位,取值范圍是-2的63次方到2得63次方。

Objective-C還允許在整型前面添加unsigned關(guān)鍵字,將他們變成無符號整型,而且最大值比沒有unsigned還要打一倍,比如short int 的取值范圍是-32768-32767 那么unsigned的取值范圍是0-65535



2.字符型

字符型代表的單個字符,這個沒什么要講的了,因為學(xué)過編程的都見過并且用過,Objective-C中得字符類型只占一個字節(jié),所以字符類型并不支持中文(中文是2個字節(jié))

另外我們常用的轉(zhuǎn)移字符也屬于字符型的范疇

常用的如下

\b            退格符                           

\n            換行符

\r              回車符

\t            制表符

\"            雙引號

\'            單引號

\\            反斜線

這里Objective-C和C有一個區(qū)別就是Objective-C的字符類型是單引號括起來,C語言的字符類型是雙引號括起來,


3.浮點(diǎn)型

浮點(diǎn)類型有三種:float,double和long double。一般情況下,float占4字節(jié),double占8字節(jié),long double占16字節(jié)

除非另有說明,否則,Objective-C 編譯器將所有浮點(diǎn)常量均看作 double 值。要清楚地表示 float 常量,需要再數(shù)字的尾部添加一個 f 或 F,例如:12.8f



4.枚舉型

枚舉值也是編程中常用的一種數(shù)據(jù)結(jié)構(gòu),他表示變量中包含幾種可能的值,例如太陽系行星的變量值有金星,水星,木星,火星,土星,地球,天王星,海王星,像這種就可以定義為枚舉

具體使用方法如下

enum season {spring,summer,fall,winter};
enum season myLove=summer;

第一行表示申明一個枚舉類型 ,season,它的值只包括 spring,summer,fall,winter四種,第二行的意思是,創(chuàng)建一個season的值,給它賦值為summer,



5.輸出格式字符


Objective-C中,有一個輸出的函數(shù)叫NSlog(),表示輸出字符串和其他數(shù)據(jù)類型,并且可以用到“%”占位符,解釋其參數(shù)。使用方法如以下代碼:

int a = 56;

NSLog(@"==%d==" , a);  

NSLog(@"==%9d==" , a);      // 輸出整數(shù)占9位

NSLog(@"==%-9d==" , a);    // 輸出整數(shù)占9位,并且左對齊

NSLog(@"==%o==" , a);     // 輸出8進(jìn)制數(shù)

NSLog(@"==%x==" , a);    // 輸出16進(jìn)制數(shù)


long b = 12;

NSLog(@"%ld" , b);     // 輸出long int型的整數(shù)

NSLog(@"%lx" , b);     // 以16進(jìn)制輸出long int型的整數(shù)


double d1 = 2.3;

NSLog(@"==%f==" , d1);    // 以小數(shù)形式輸出浮點(diǎn)數(shù)

NSLog(@"==%e==" , d1);    // 以指數(shù)形式輸出浮點(diǎn)數(shù)

NSLog(@"==%g==" , d1);    // 以最簡形式輸出浮點(diǎn)數(shù)

NSLog(@"==%9f==" , d1);    // 以小數(shù)形式輸出浮點(diǎn)數(shù),并且最少占用9位

NSLog(@"==%9.4f==" , d1);    // 以小數(shù)形式輸出浮點(diǎn)數(shù),至少占用9位,小數(shù)點(diǎn)共4位


long double d2 = 2.3;

NSLog(@"==%lf==" , d1);    // 以小數(shù)形式輸出長浮點(diǎn)數(shù)

NSLog(@"==%le==" , d1);    // 以指數(shù)形式輸出長浮點(diǎn)數(shù)

NSLog(@"==%lg==" , d1);    // 以最簡形式輸出長浮點(diǎn)數(shù)

NSLog(@"==%9lf==" , d1);    // 以小數(shù)形式輸出長浮點(diǎn)數(shù),并且最少占用9位

NSLog(@"==%9.4lf==" , d1);    // 以小數(shù)形式輸出長浮點(diǎn)數(shù),至少占用9位,小數(shù)點(diǎn)共4位


NSString *str = @"瘋狂iOS";

NSLog(@"==%@==" , str);    // 輸出Objective-C的字符串 


NSDate *date = [[NSDate alloc] init];

NSLog(@"==%@==" , date);    // 輸出Objective-C對象



%f %e %g三個都是表示浮點(diǎn)型的輸出占位符,%f表示浮點(diǎn)值,%e表示科學(xué)計數(shù)法,&g表示使用常用的浮點(diǎn)計數(shù)法還是使用科學(xué)計數(shù)法來顯示浮點(diǎn)值。這一決定取決于指數(shù)的值:如果該值小于 -4 或大于 5,采用 %e (科學(xué)計數(shù)法)表示,否則采用 %f (浮點(diǎn)計數(shù)法)。

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

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

AI