oc數(shù)據(jù)類型
數(shù)據(jù)類型:基本數(shù)據(jù)類型、指針數(shù)據(jù)類型
基本數(shù)據(jù)類型:數(shù)值型、字符型(char)、布爾型、空類型(void)
指針數(shù)據(jù)類型:類(class)、id
數(shù)值型:整數(shù)類型int、浮點(diǎn)型float、double
c和oc的基本數(shù)據(jù)類型
int:聲明整型變量
double:聲明雙精度變量
float:聲明浮點(diǎn)型變量
char:聲明字符型變量
id:通用的指針類型
enum:聲明枚舉類型
long:聲明長整型變量或函數(shù)
short:聲明短整型變量或函數(shù)
signed:聲明有符號類型變量
struct:聲明結(jié)構(gòu)體變量
union:聲明共用體(聯(lián)合)數(shù)據(jù)類型
unsigned:聲明無符號類型變量
void:聲明函數(shù)無返回值或無參數(shù)
數(shù)據(jù)類型格式化說明符
數(shù)據(jù)類型 oc關(guān)鍵字 格式說明引導(dǎo)符
整型 int %d.%i
短整型 short int %hd.%hi
長類型 long int %ld.%li
無符號短整型 unsigned int %u
無短整型 unsigned short %hu
無符號長整型 unsigned long %lu
浮點(diǎn)型 float %f
雙精度型 double %f
長雙精度型 long double %lf
字符型 char %c
具體的數(shù)據(jù)類型
整數(shù)類型
oc中整數(shù)類型用int來表示,格式化符號用%i或%d來表示
比如:int a=100;
oc語言的整型常量默認(rèn)為int型,聲明long型常量可以后加“l(fā)”或“L”,如:
int b=600;//long c=888888888L;
類型 占用存儲空間 值域范圍
Byte 1個(gè)字節(jié) -128—127
short 2個(gè)字節(jié) -2′15—2′15-1
int 4個(gè)字節(jié) -2′31—2′31-1
long 8個(gè)字節(jié) -2′63—2′63-1
注釋:2‘63為2的63次方
浮點(diǎn)類型
浮點(diǎn)類型的變量可以存儲包括小數(shù)的值
oc中有兩種浮點(diǎn)類型
·float 有效數(shù)字為6-7位 格式化說明符號用%f表示
·double 有效數(shù)字為15-16位 格式化說明符號用%f.%e或%g表示
oc中浮點(diǎn)型常量默認(rèn)為double型,如果要聲明一個(gè)常量為float,在數(shù)字的后面加f或F
例如:double m=3.14159;//正確 float f=3.14f;
類型 占用存儲空間 值域范圍
float 4字節(jié) -3.403E38
double 8字節(jié) -1.798E308—1.798E
字符串char
char型數(shù)據(jù)用來表示通常意義上的“字符”,格式化說明符用%c表示
字符常量為用單引號括起來的單個(gè)字符,
例如:char achar=’a’;char b=’0’;char cChar=’蘋’;值域范圍:-128—127
“\n”、oc編譯器把這個(gè)當(dāng)做單個(gè)字符
unsigned char 值域范圍:0~255
oc字符采用Unicode編碼,每個(gè)字符占兩個(gè)字節(jié),因而可用十六進(jìn)制編碼形式表示,
例如:char c1=’\u0061’;
注:Unicode是全球語言統(tǒng)一編碼
邏輯型Boolean(布爾型)
Boolean類型指的是用于存儲真值和假值的變量,一般用于程序流程控制。
Boolean類型數(shù)據(jù)允許取值true或false,也可以是0或非0的整數(shù)代替true和false,這點(diǎn)和java語言不同。
實(shí)例:
Boolean flag=true
if(flag)
{
NSLog(@”hello iphone”);
}
限定詞
·long int:聲明變量XX為long的整型變量,格式化符號為¥%li,如:long int a;
·long long int:聲明變量XX為long long的整型變量,格式符號位%lli,如:long long int b;
·long double:跟int基本相同;
·unsigned int:聲明無符號的整型變量,如:unsigned int c;
·signed int:聲明有符號的整型變量。如:signed int d。
void類型(空類型)
告訴編譯器沒有任何范圍類型的值
不能像其他數(shù)據(jù)類型一樣來聲明變量
例如:void i=10;//錯(cuò)誤
void通常與方法一起搭配使用,比如:
-(void)test
{
//code
}
id類型
id類型是oc中獨(dú)有的數(shù)據(jù)類型,它可以存儲任何類型的對象,從某種意義上說,它就是一般的對象類型。
·將number聲明為id類型的變量,
如:id number;
·格式化說明符:%p