標籤:objective-c
Objective-C是C語言的超集,故基本類型是一樣的,所以學過C語言的朋友,在面對Objective-C時也不會太陌生,畢竟資料類型是一樣的,只不過對資料的處理方法不一樣,那麼我們就來一起學習下基礎資料型別 (Elementary Data Type),為整個Objective-C的學習打好基礎
整個資料類型如所示
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/57/26/wKioL1SS3hCyylxmAAEvNCyA9Rc550.jpg" title="4BC9907B-AD72-4792-B8F0-68E8B2DB6351.png" alt="wKioL1SS3hCyylxmAAEvNCyA9Rc550.jpg" />
可以看到基本的資料類型包括 整形,字元型,浮點型,枚舉型,此篇博文就主要概述這四種類型
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 (浮點計數法)。
本文出自 “Romit的代碼世界” 部落格,請務必保留此出處http://romitlee.blog.51cto.com/6758561/1591563
Objective-C基礎之基礎資料型別 (Elementary Data Type)