Objective-C常量

常量指的是程式在執行期間不會改變的固定值。這些固定值也稱為文字。
常量可以是任何基本數據類型,如整數常量,浮點常量,字元常量或字串文字。還有枚舉常量。
常量被視為常規變數,只不過它們的值在定義後無法修改。

1. 整數文字

整數文字可以是十進位,八進制或十六進制常量。首碼指定基數或基數:十六進制為0x0X,八進制為0,十進位為空。

整數文字也可以有一個尾碼,它是UL的組合,分別對於unsignedlong。尾碼可以是大寫或小寫,可以按任何順序排列。

以下是整數文字的一些示例 -

212         /* 合法有效 */
215u        /* 合法有效 */
0xFeeL      /* 合法有效 */
078         /* 非法無效: 8 不是八進制數字 */
032UU       /* 非法無效: 不能重複尾碼*/

以下是各種類型的整數文字的一些示例 -

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

2. 浮點文字

浮點文字有整數部分,小數點,小數部分和指數部分。 可以以十進位形式或指數形式表示浮點文字。

在使用小數形式表示時,必須包括小數點,指數或兩者,並且在使用指數形式表示時,必須包括整數部分,小數部分或兩者。 帶符號的指數由eE引入。

以下是浮點文字的一些示例 -

3.14159       /* 合法有效 */
314159E-5L    /* 合法有效 */
510E          /* 非法無效: 不完整的指數 */
210f          /* 非法無效: 沒有小數或指數 */
.e55          /* 非法無效: 缺少整數或分數 */

3. 字元常量

字元文字用單引號括起來,例如'x',可以存儲在char類型的變數中。
字元文字可以是普通字元(例如,'x'),轉義序列(例如,'\t'),或通用字元(例如,'\u02C0')。

C中有某些字元,當它們以反斜杠進行時,它們具有特殊含義,它們用於表示換行符(\n)或跳位字元(\t)。 在這裏,有一些此類轉義序列代碼的列表 -

轉義序列 表示含義
\\ \字元
'字元
"字元
\? ?字元
\a 警報或鈴聲
\b 退格
\f 換頁
\n 換行
\r 回車
\t 水準製錶
\v 水直製錶
\ooo 八進制數字的一到三位數

以下是顯示一些轉義序列字元的示例 -

#import <Foundation/Foundation.h>

int main() {
   NSLog(@"zaixian\t.com\n\n");
   return 0;
}

執行上面示例代碼,得到以下結果:

zaixian    .com

4. 字串文字

字串文字或常量用雙引號("")括起來。字串包含與字元文字類似的字元:普通字元,轉義序列和通用字元。 可以使用字串文字將長的一行分成多行,並使用空格分隔它們。
以下是字串文字的一些示例。 這三種形式都是表示相同的字串。

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

5. 定義常量

Objetive-C中有兩種簡單的方法來定義常量 -

  • 使用#define預處理器。
  • 使用const關鍵字。

5.1. 使用#define預處理器

以下是使用#define預處理器定義常量的形式 -

#define identifier value

通過以下示例代碼理解 -

#import <Foundation/Foundation.h>

#define LENGTH 10
#define WIDTH  25
#define NEWLINE '\n'

int main() {
   int area;
   area = LENGTH * WIDTH;
   NSLog(@"value of area : %d", area);
   NSLog(@"%c", NEWLINE);

   return 0;
}

執行上面示例代碼,得到以下結果:

2018-11-14 02:12:14.492 main[10613] value of area : 250
2018-11-14 02:12:14.494 main[10613]

5.2. const關鍵字

使用const關鍵字作為首碼來聲明具有特定類型的常量,如下所示 -

const type variable = value;

通過以下示例代碼理解 -

#import <Foundation/Foundation.h>

int main() {
   const int  LENGTH = 10;
   const int  WIDTH  = 15;
   const char NEWLINE = '\n';
   int area;

   area = LENGTH * WIDTH;
   NSLog(@"value of area : %d", area);
   NSLog(@"%c", NEWLINE);

   return 0;
}

執行上面示例代碼,得到以下結果:

2018-11-14 02:15:15.421 main[170983] value of area : 150
2018-11-14 02:15:15.422 main[170983]

請注意,使用使用大寫字母來定義常量是一種很好的編程習慣。


上一篇: Objective-C變數 下一篇: Objective-C運算符