一、數(shù)據(jù)類型簡介及輸出
1.數(shù)據(jù)類型簡介
數(shù)據(jù)類型簡介 : Object - C 數(shù)據(jù)類型 分為 基本數(shù)據(jù)類型, 構(gòu)造類型 和 指針類型;
- 基本數(shù)據(jù)類型 : 整型, 字符型, 浮點型 (float 和 double), 枚舉型;
- 構(gòu)造類型 : 數(shù)組類型, 結(jié)構(gòu)體類型, 共用體類型;
- 指針類型 : 最終要的數(shù)據(jù)類型, 所有的系統(tǒng)類, 自定義類都是指針;
- 空類型 : 空類型只有一個值 nil, 該類型沒有名稱, 因此沒有空類型的變量, 變量不能轉(zhuǎn)換成空類型, 但是空類型可以轉(zhuǎn)換成任何引用類型;
2.數(shù)據(jù)類型輸出
NSLog()簡介 : NSLog 是 Foundation 框架中功能強大的函數(shù), 可以輸出任何類型的數(shù)據(jù);
– 占位符 : NSLog() 函數(shù)中各式與 C 語言中大致相似, 第一個參數(shù)是加了 @ 的字符串, 后面的參數(shù)是用于替換占位符的;
整型占位符說明 :
%d : 十進(jìn)制整數(shù), 正數(shù)無符號, 負(fù)數(shù)有 “-” 符號;
%o : 八進(jìn)制無符號整數(shù), 沒有 0 前綴;
%x : 十六進(jìn)制無符號整數(shù), 沒有 0x 前綴;
%u : 十進(jìn)制無符號整數(shù);
%zd NSInteger
%tu 無符號NSUInteger
字符占位符說明 :
- %c : 單個字符輸出;
- %s : 輸出字符串;
浮點占位符說明 :
- %f : 以小數(shù)形式輸出浮點數(shù), 默認(rèn) 6 位小數(shù);
- %e : 以指數(shù)形式輸出浮點數(shù), 默認(rèn) 6 位小數(shù);
- %g : 自動選擇 %e 或者 %f 各式;
其它形式占位符 :
- %p : 輸出十六進(jìn)制形式的指針地址;
- %@ : 輸出 Object-C 對象;
占位符附加字符 :
- l : 在整型 和 浮點型占位符之前, %d %o %x %u %f %e %g 代表長整型 和 長字符串;
- n(任意整數(shù)) : 在整型之前加入任意整數(shù)表示 輸出總位數(shù)托修,%8d 代表輸出8位數(shù)字;
- .n : 浮點數(shù) 限制小數(shù)位數(shù), %5.2f 表示 5位數(shù)字 2位小數(shù), 字符串 截取字符個數(shù);
- : 字符左對齊;
二梁棠、整型
1.整型類型介紹
四種整型 :
- short int : 短整型, 占16位, mac 上占 2 字節(jié), iOS 上占 2 字節(jié), 范圍 -32768(-2^15) ~ 32767(2^15 - 1), 3萬;
- int : 整型, 占32位, mac 上占 4 字節(jié), ios 上占 4 字節(jié), 范圍 -2147483648(-2^31) ~ 2147483647(2^31 - 1), 21億;
- long int : 長整型, 占64位, mac 上占 8 字節(jié), ios 上占 4 字節(jié), (-2^63) ~ (2^63 - 1), 922億億;
- long long : 占64位, mac 上占 8 字節(jié), ios 上占 8 字節(jié);
整數(shù)賦值 : 整型賦值時注意范圍, 如果超出賦值范圍, 會出現(xiàn)警告, 數(shù)據(jù)也會丟失;
2.進(jìn)制介紹
八進(jìn)制 十六進(jìn)制賦值 : 八進(jìn)制由 “0” 開頭, 十六進(jìn)制由 “0x” 或者 “0X” 開頭;
3.無符號整型
無符號整型 : 無符號整型 第一位 不是符號位, 范圍比原來要大, 例如 short int 范圍是 正負(fù)3萬, unsigned short int 范圍是 0到6萬, 將5萬賦值給 該類型不報錯;
三蹬挤、字符型
字符型數(shù)據(jù)簡介 :
- 單個字符表示 : 使用 ” 將單個字符引起來, 便是字符常量, 如 ‘a(chǎn)’, ‘b’ 等;
- 轉(zhuǎn)義字符表示 : 使用轉(zhuǎn)義符號 \ 來指定字符, 如 ‘\n’ 等;
- 字符占用空間大小 : 每個字符占用一個字節(jié), 因此 Object-C 不支持中文字符, 因為中文字符都是占 2 ~ 3 個字節(jié);
轉(zhuǎn)義字符 : 分為特殊空白字符 和 區(qū)別 單雙引號 和 反斜線的轉(zhuǎn)義;
- 退格符 : ‘\b’ ;
- 換行符 : ‘\n’ ;
- 回車符 : ‘\r’ ;
- 制表符 : ‘\t’ ;
- 雙引號 : ‘"’ ;
- 單引號 : ‘'’ ;
- 反斜線 : ‘\’ ;
int 與 char 類型關(guān)系 : char 類型可以當(dāng)做 8 位無符號整數(shù), 取值范圍 0 ~ 255;
– int 賦值給 char : 將 int 類型賦值給 char 變量的時候, 會自動將類型轉(zhuǎn)為 char 類型;
四、浮點型
浮點型數(shù)據(jù)類型 :
- float : 占 4 字節(jié);
- double : 占 8 字節(jié);
- long double : 占 16 字節(jié);
浮點數(shù)表示形式 :
- 十進(jìn)制形式 : 簡單的浮點數(shù), 包含一個小數(shù)點, 如 3.8, 38.0, .38 等;
- 科學(xué)計數(shù)法 : 3.8E2 或者 3.8e2 代表 3.8*10^2, 只有浮點數(shù)才能使用科學(xué)計數(shù)法;
Object-C 與 Java 浮點數(shù)區(qū)別 :
- Java 浮點數(shù) : Java 的 double 與 float 不同, 浮點數(shù)賦值給 float 需要加上 f 后綴;
- Object-C浮點數(shù) : 不區(qū)分 double 與 float, 一個浮點數(shù) 3.8 可以賦值給兩種類型的變量;
浮點數(shù)的特殊值 :
- 正無窮大 : 正浮點數(shù)除以 0.0 得到正無窮大, 正無窮大都相等, 正整數(shù)除以 0.0 得到整數(shù)的邊界值, short int 除以 0.0 得到 32767(2^15 -1);
- 負(fù)無窮大 : 負(fù)浮點數(shù)除以 0.0 得到負(fù)無窮大, 負(fù)無窮大都相等, 負(fù)整數(shù)除以 0.0 得到整數(shù)的邊界值, short int 除以 0.0 得到 -32768(2^15);
- 非數(shù) : 0.0 除以 0.0 得到一個非數(shù), 非數(shù)與任何數(shù)包括其本身都不相等;
五汗茄、布爾型數(shù)據(jù)
BOOL 類型簡介 :
- BOOL 類型值 : 該類型至右兩個值 YES 和 NO ;
- BOOL 類型本質(zhì) : 該類型本質(zhì)是 signed char, YES 是 1, NO 是 0, 在處理的時候 YES 會被當(dāng)成真處理, NO 會被當(dāng)成假處理;
BOOL 類型賦值 :
- BOOL 類型判斷 : BOOL 類型會將非 0 數(shù)字當(dāng)做 YES 處理;
- 大數(shù)字賦值 : 注意 BOOL 類型只有 8 位, 賦值的時候, 只要最后8位不為0, 那么 BOOL 類型就是 YES, 如果后 8 位為0, 那么 BOOL 為 NO;