官术网_书友最值得收藏!

陷阱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。

如果第二個示例計算的是金額,由于將十進制數錯寫成八進制數,可以想象損失的金額將是多么巨大!

主站蜘蛛池模板: 伊宁县| 伊宁县| 辽阳县| 论坛| 玉山县| 中超| 平顶山市| 张掖市| 泗洪县| 武穴市| 定陶县| 宜州市| 古丈县| 潞西市| 吴旗县| 万荣县| 江油市| 彭泽县| 浙江省| 准格尔旗| 奇台县| 霍城县| 进贤县| 平塘县| 乳山市| 凤凰县| 西乌珠穆沁旗| 丘北县| 荥阳市| 西乡县| 庐江县| 大荔县| 齐河县| 邳州市| 张家口市| 夏邑县| 衡水市| 江孜县| 寿阳县| 大邑县| 黄浦区|