Java与C:关键差异解析
1. 有符号和无符号类型
在处理整数类型时,有符号(signed)和无符号(unsigned)类型的差异需要特别注意。例如:
int i = -3;
unsigned int j = i; // j = 4294967293
当进行有符号和无符号类型的比较时,可能会出现不可预测的结果。如下代码:
int i = -3;
unsigned int j = 3;
if (i<j) { … } // 不可预测的条件
为避免这种情况,建议避免混合使用有符号和无符号类型进行比较,或者对其中一个值进行类型转换,使类型兼容。通常,大多数大小、索引和数组计数使用无符号整数,而在其他地方使用有符号整数。
2. 常量
常量是赋予不变、已知值的名称。使用符号编程比直接使用数字值更简单且更具信息性。常见的常量在Java和Objective - C中有不同的表示,如下表所示:
| Java | Objective - C | 用途 |
| ---- | ---- | ---- |
| true | YES | 逻辑真 |
| false | NO | 逻辑假 |
| null | nil | 空或无效对象引用 |
| NULL | NULL | 空或无效指针 |
在C中, const 关键字在整数类型前的作用类似于Java中
超级会员免费看
订阅专栏 解锁全文
15万+

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



