- Objective-C 基础
- Objective-C - 首页
- Objective-C - 概述
- Objective-C - 环境设置
- Objective-C - 程序结构
- Objective-C - 基本语法
- Objective-C - 数据类型
- Objective-C - 变量
- Objective-C - 常量
- Objective-C - 运算符
- Objective-C - 循环
- Objective-C - 决策
- Objective-C - 函数
- Objective-C - 块
- Objective-C - 数字
- Objective-C - 数组
- Objective-C - 指针
- Objective-C - 字符串
- Objective-C - 结构体
- Objective-C - 预处理器
- Objective-C - Typedef
- Objective-C - 类型转换
- Objective-C - 日志处理
- Objective-C - 错误处理
- 命令行参数
- 高级 Objective-C
- Objective-C - 类和对象
- Objective-C - 继承
- Objective-C - 多态
- Objective-C - 数据封装
- Objective-C - 分类
- Objective-C - 模拟
- Objective-C - 扩展
- Objective-C - 协议
- Objective-C - 动态绑定
- Objective-C - 复合对象
- Obj-C - Foundation 框架
- Objective-C - 快速枚举
- Obj-C - 内存管理
- Objective-C 有用资源
- Objective-C - 快速指南
- Objective-C - 有用资源
- Objective-C - 讨论
Objective-C 常量
常量是指程序在其执行过程中可能不会更改的固定值。这些固定值也称为字面量。
常量可以是任何基本数据类型,例如整数常量、浮点常量、字符常量或字符串字面量。 还有枚举常量。
常量的处理方式与普通变量一样,只是它们的数值在定义后不能修改。
整数字面量
整数字面量可以是十进制、八进制或十六进制常量。前缀指定基数或基数:十六进制为 0x 或 0X,八进制为 0,十进制为无。
整数字面量还可以带后缀,该后缀是 U 和 L 的组合,分别表示无符号和长整型。后缀可以是大写或小写,并且可以按任意顺序排列。
以下是一些整数字面量的示例:
212 /* Legal */ 215u /* Legal */ 0xFeeL /* Legal */ 078 /* Illegal: 8 is not an octal digit */ 032UU /* Illegal: cannot repeat a suffix */
以下是各种类型整数字面量的其他示例:
85 /* decimal */ 0213 /* octal */ 0x4b /* hexadecimal */ 30 /* int */ 30u /* unsigned int */ 30l /* long */ 30ul /* unsigned long */
浮点字面量
浮点字面量具有整数部分、小数点、小数部分和指数部分。您可以使用十进制形式或指数形式表示浮点字面量。
使用十进制形式表示时,必须包含小数点、指数或两者兼有;使用指数形式表示时,必须包含整数部分、小数部分或两者兼有。带符号的指数由 e 或 E 引入。
以下是一些浮点字面量的示例:
3.14159 /* Legal */ 314159E-5L /* Legal */ 510E /* Illegal: incomplete exponent */ 210f /* Illegal: no decimal or exponent */ .e55 /* Illegal: missing integer or fraction */
字符常量
字符字面量用单引号括起来,例如 'x',可以存储在char类型的简单变量中。
字符字面量可以是普通字符(例如 'x')、转义序列(例如 '\t')或通用字符(例如 '\u02C0')。
在 C 语言中,某些字符在前面加上反斜杠时具有特殊含义,它们用于表示换行符(\n)或制表符(\t)等。这里列出了一些这样的转义序列代码:
| 转义序列 | 含义 |
|---|---|
| \\ | \ 字符 |
| \' | ' 字符 |
| \" | " 字符 |
| \? | ? 字符 |
| \a | 警报或铃声 |
| \b | 退格 |
| \f | 换页 |
| \n | 换行 |
| \r | 回车 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
| \ooo | 一位到三位八进制数 |
| \xhh . . . | 一位或多位十六进制数 |
以下示例演示了一些转义序列字符:
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Hello\tWorld\n\n");
return 0;
}
编译并执行上述代码后,将产生以下结果:
2013-09-07 22:17:17.923 demo[17871] Hello World
字符串字面量
字符串字面量或常量用双引号 "" 括起来。字符串包含与字符字面量类似的字符:普通字符、转义序列和通用字符。您可以使用字符串字面量将长行分成多行,并使用空格分隔它们。
以下是一些字符串字面量的示例。所有三种形式都是相同的字符串。
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
定义常量
在 C 语言中,有两种简单的方法可以定义常量:
使用#define预处理器。
使用const关键字。
#define 预处理器
以下是使用 #define 预处理器定义常量的形式:
#define identifier value
以下示例详细说明了它:
#import <Foundation/Foundation.h>
#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'
int main() {
int area;
area = LENGTH * WIDTH;
NSLog(@"value of area : %d", area);
NSLog(@"%c", NEWLINE);
return 0;
}
编译并执行上述代码后,将产生以下结果:
2013-09-07 22:18:16.637 demo[21460] value of area : 50 2013-09-07 22:18:16.638 demo[21460]
const 关键字
您可以使用const前缀声明具有特定类型的常量,如下所示:
const type variable = value;
以下示例详细说明了它:
#import <Foundation/Foundation.h>
int main() {
const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE = '\n';
int area;
area = LENGTH * WIDTH;
NSLog(@"value of area : %d", area);
NSLog(@"%c", NEWLINE);
return 0;
}
编译并执行上述代码后,将产生以下结果:
2013-09-07 22:19:24.780 demo[25621] value of area : 50 2013-09-07 22:19:24.781 demo[25621]
请注意,良好的编程习惯是用大写字母定义常量。