上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
陷阱3 零的危害——不慎使用八进制常量的危害
在Java中整数常量分八进制、十进制和十六进制三种,其中经常使用的是十进制整数,由于八进制整数常量与十进制整数非常相似,因此非常容易发生混淆,所以必须慎重使用整数常量。
示例:
int num1 = 60; // 声明整型变量num1,其初始值为60 int num2 = 80; // 声明整型变量num2,其初始值为80 int num3 = num1 * num2; // 计算60与80的乘积,并赋值给变量num3 System. out. println (num3); // 输出变量num3的值
说明
上面示例的目的是计算出十进制数60与80的乘积,因此输出num3的值是4800,这是正确的结果,也达到了预期的目的。
示例:
int num1 = 060; // 声明整型变量num1,其初始值为八进制的60 int num2 = 80; // 声明整型变量num1,其初始值为十进制的80 int num3 = num1 * num2; // 计算八进制60与十进制80的乘积,并赋值给变量num3 System. out. println (num3); // 输出变量num3的值
说明
上面示例的目的也是要计算十进制数60与80的乘积,由于手误,将十进制数的60错写成了八进制的060,而八进制的060相当于十进制数的48,因此输出num3的值不是4800,而是48与80的乘积,所以输出的是3840。
如果第二个示例计算的是金额,由于将十进制数错写成八进制数,可以想象损失的金额将是多么巨大!