Java与C:关键差异解析
1. 有符号和无符号类型
在进行有符号和无符号类型的操作时,需要格外注意。例如下面的代码:
int i = -3;
unsigned int j = i; // j = 4294967293
当进行有符号和无符号类型的比较时,可能会得到不可预测的结果。如:
int i = -3;
unsigned int j = 3;
if (i<j) { … } // 不可预测的条件
通常,大小、索引和数组计数使用无符号类型。当声明用于集合索引的变量时,应声明为无符号整数,其他情况一般使用有符号整数。
2. 常量
常量是赋予不变、已知值的名称。编程中使用符号常量比直接使用数字值更方便和有信息性。常见的常量如下表所示:
| Java | Objective - C | 用途 |
| ---- | ---- | ---- |
| true | YES | 逻辑真 |
| false | NO | 逻辑假 |
| null | nil | 空或无效对象引用 |
| NULL | | 空或无效指针 |
在C中, const 关键字在整数类型前的作用与Java中的 final 类似,但很少用于定义简单整数常量。大多数C常量使用预处理器或枚举语句定义。例如枚举:
超级会员免费看
订阅专栏 解锁全文
14万+

被折叠的 条评论
为什么被折叠?



