您好,登錄后才能下訂單哦!
Objective-C是C語言的超集,故基本類型是一樣的,所以學過C語言的朋友,在面對Objective-C時也不會太陌生,畢竟數據類型是一樣的,只不過對數據的處理方法不一樣,那么我們就來一起學習下基本數據類型,為整個Objective-C的學習打好基礎
整個數據類型如下圖所示
可以看到基本的數據類型包括 ×××,字符型,浮點型,枚舉型,此篇博文就主要概述這四種類型
1.×××
整型包括如下幾種具體的類型
short int
int
long int
long long
最常用的就是int了,其余三種我們平時用得少,但并不是不用,
short int在內存中占16位,取值范圍是-2的15次方到2得15次方,
int類型在內存中占32位,取值范圍是-2的31次方到2的31次方,
long int在內存中占64位,取值范圍是-2的63次方到2得63次方。
long long和long int 差不多,也是內存占64位,取值范圍是-2的63次方到2得63次方。
Objective-C還允許在整型前面添加unsigned關鍵字,將他們變成無符號整型,而且最大值比沒有unsigned還要打一倍,比如short int 的取值范圍是-32768-32767 那么unsigned的取值范圍是0-65535
2.字符型
字符型代表的單個字符,這個沒什么要講的了,因為學過編程的都見過并且用過,Objective-C中得字符類型只占一個字節,所以字符類型并不支持中文(中文是2個字節)
另外我們常用的轉移字符也屬于字符型的范疇
常用的如下
\b 退格符
\n 換行符
\r 回車符
\t 制表符
\" 雙引號
\' 單引號
\\ 反斜線
這里Objective-C和C有一個區別就是Objective-C的字符類型是單引號括起來,C語言的字符類型是雙引號括起來,
3.浮點型
浮點類型有三種:float,double和long double。一般情況下,float占4字節,double占8字節,long double占16字節
除非另有說明,否則,Objective-C 編譯器將所有浮點常量均看作 double 值。要清楚地表示 float 常量,需要再數字的尾部添加一個 f 或 F,例如:12.8f
4.枚舉型
枚舉值也是編程中常用的一種數據結構,他表示變量中包含幾種可能的值,例如太陽系行星的變量值有金星,水星,木星,火星,土星,地球,天王星,海王星,像這種就可以定義為枚舉
具體使用方法如下
enum season {spring,summer,fall,winter}; enum season myLove=summer;
第一行表示申明一個枚舉類型 ,season,它的值只包括 spring,summer,fall,winter四種,第二行的意思是,創建一個season的值,給它賦值為summer,
5.輸出格式字符
Objective-C中,有一個輸出的函數叫NSlog(),表示輸出字符串和其他數據類型,并且可以用到“%”占位符,解釋其參數。使用方法如以下代碼:
int a = 56;
NSLog(@"==%d==" , a);
NSLog(@"==%9d==" , a); // 輸出整數占9位
NSLog(@"==%-9d==" , a); // 輸出整數占9位,并且左對齊
NSLog(@"==%o==" , a); // 輸出8進制數
NSLog(@"==%x==" , a); // 輸出16進制數
long b = 12;
NSLog(@"%ld" , b); // 輸出long int型的整數
NSLog(@"%lx" , b); // 以16進制輸出long int型的整數
double d1 = 2.3;
NSLog(@"==%f==" , d1); // 以小數形式輸出浮點數
NSLog(@"==%e==" , d1); // 以指數形式輸出浮點數
NSLog(@"==%g==" , d1); // 以最簡形式輸出浮點數
NSLog(@"==%9f==" , d1); // 以小數形式輸出浮點數,并且最少占用9位
NSLog(@"==%9.4f==" , d1); // 以小數形式輸出浮點數,至少占用9位,小數點共4位
long double d2 = 2.3;
NSLog(@"==%lf==" , d1); // 以小數形式輸出長浮點數
NSLog(@"==%le==" , d1); // 以指數形式輸出長浮點數
NSLog(@"==%lg==" , d1); // 以最簡形式輸出長浮點數
NSLog(@"==%9lf==" , d1); // 以小數形式輸出長浮點數,并且最少占用9位
NSLog(@"==%9.4lf==" , d1); // 以小數形式輸出長浮點數,至少占用9位,小數點共4位
NSString *str = @"瘋狂iOS";
NSLog(@"==%@==" , str); // 輸出Objective-C的字符串
NSDate *date = [[NSDate alloc] init];
NSLog(@"==%@==" , date); // 輸出Objective-C對象
%f %e %g三個都是表示浮點型的輸出占位符,%f表示浮點值,%e表示科學計數法,&g表示使用常用的浮點計數法還是使用科學計數法來顯示浮點值。這一決定取決于指數的值:如果該值小于 -4 或大于 5,采用 %e (科學計數法)表示,否則采用 %f (浮點計數法)。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。