您好,登錄后才能下訂單哦!
Objective-C是C語言的超集,故基本類型是一樣的,所以學(xué)過C語言的朋友,在面對Objective-C時也不會太陌生,畢竟數(shù)據(jù)類型是一樣的,只不過對數(shù)據(jù)的處理方法不一樣,那么我們就來一起學(xué)習(xí)下基本數(shù)據(jù)類型,為整個Objective-C的學(xué)習(xí)打好基礎(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ù)法)。
免責(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)容。