- Java開發之道
- 張振坤 李鐘尉 陳丹丹等編著
- 456字
- 2018-12-27 19:53:53
陷阱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。
如果第二個示例計算的是金額,由于將十進制數錯寫成八進制數,可以想象損失的金額將是多么巨大!
推薦閱讀
- Design Principles for Process:driven Architectures Using Oracle BPM and SOA Suite 12c
- 數據結構習題精解(C語言實現+微課視頻)
- Getting Started with Python Data Analysis
- Hands-On Swift 5 Microservices Development
- Linux命令行與shell腳本編程大全(第4版)
- Java Web程序設計任務教程
- 數據結構習題解析與實驗指導
- Working with Odoo
- 編程與類型系統
- C/C++數據結構與算法速學速用大辭典
- 從零開始學Android開發
- 單片機原理及應用技術
- JavaScript Concurrency
- Java從入門到精通(視頻實戰版)
- Game Development Patterns and Best Practices