您好,登錄后才能下訂單哦!
Java程序中總是會出現一些數字。我們通常都是用常規的方式來表示這些數字,如以下代碼所示
int a = 1;
double b = 1.5;
但是數字也可以有非常規寫法,在這里我們用一篇短文簡單總結一下
整數的非十進制寫法
首先強調一下,這里所說的整數并不是單指int類型,而是包含了int、byte、short和long這4種整數類型。在Java語言中,除了可以用十進制的形式表示整數以外,還可以用二進制、八進制和十六進制的方式表示整數。如果用十六進制的形式表示一個整數,數字要以0X開頭,如果用八進制表示,則用0開頭,而用二進制表示,用0B開頭,如以下代碼所示
byte n1 = 0B1011;//二進制表示法,換算等于十進制的11
int n2 = 072;//八進制表示法,換算等于十進制的58
long n3 = 0XFF5C;//十六進制表示法,換算等于十進制的65372
以上代碼中就是數字的非十進制表示法以及對應的換算結果。需要注意的是,我們在一開始就強調了這幾種表示法都是針對整數而言的,所以說,這幾種表示數字的寫法中,不能出現小數點,否則會出現語法錯誤!
浮點數的科學計數法
Java語言為了能夠讓浮點數表示出更大范圍的數字,除了允許我們使用常規寫法以外,還可以讓我們用科學計數法的形式表示浮點數。我們來看一個例子
`float n4 = 2.3E3F;//換算等于2.31000``
使用科學計數法表示浮點數,需要用一個字母E來把系數和指數隔開。具體來說就是:字母E的前面是一個浮點數,后面是一個整數。E之前的浮點數是系數,而E之后的整數就表示10的多少次方,這個整數可以是負數。上面代碼中,數字2.3E3F其實就是2.3乘以10的3次方。在數字的最后又出現了一個字母F,是因為浮點數常量默認都是double類型,把double類型的數據賦值給float類型的變量,要在末尾加字母F進行數據類型轉換。
另外,必須強調一點就是:科學計數法只能用來表示浮點數,如果我們把一個用科學計數法表示的數字賦值給整型變量就會出現語法錯誤。即便字母E前面的系數不帶小數點也不行!
數字中帶有下劃線
int n5 = 1000000000;
如果你看到上面的數字,我想你肯定會數一下這個數字中有多少個0。我們知道,在財會行業,為了降低讀錯數字的概率,人們經常會在數字中加入逗號,比如會把100000寫成100,100。從JDK1.7開始,Java語言也借鑒了這種寫法,但做了一點點改變,把數字之間的分隔符用逗號改成了下劃線,比如說,我們可以把剛才代碼中那個很長的數字寫成
int n5 = 1_000_000_000;
對于這種加下劃線的寫法,需要強調幾個注意事項
1、這種寫法是從JDK1.7才開始引入的,早期版本的JDK并不支持這種寫法
2、下劃線出現的位置隨意,并非一定要每3位數字才能出現一個下劃線
3、無論浮點數還是整數,數字當中都可以出現下劃線
以上我們用一篇短文總結了Java語言中各種數字的非常規寫法,覺得不錯就點個贊吧!
如想系統學習Java編程,可以點擊這里觀看我在本站的視頻課程,有問題也可以加入我的QQ群291839907一起討論!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。