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(@"zyiz\t.com\n\n");
   return 0;
}

执行上面示例代码,得到以下结果:

zyiz    .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运算符

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程