Java程序中總是會出現(xiàn)一些數(shù)字。我們通常都是用常規(guī)的方式來表示這些數(shù)字,如以下代碼所示
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計與策劃設(shè)計,博興網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:博興等地區(qū)。博興做網(wǎng)站價格咨詢:13518219792
int a = 1;
double b = 1.5;
但是數(shù)字也可以有非常規(guī)寫法,在這里我們用一篇短文簡單總結(jié)一下
整數(shù)的非十進制寫法
首先強調(diào)一下,這里所說的整數(shù)并不是單指int類型,而是包含了int、byte、short和long這4種整數(shù)類型。在Java語言中,除了可以用十進制的形式表示整數(shù)以外,還可以用二進制、八進制和十六進制的方式表示整數(shù)。如果用十六進制的形式表示一個整數(shù),數(shù)字要以0X開頭,如果用八進制表示,則用0開頭,而用二進制表示,用0B開頭,如以下代碼所示
byte n1 = 0B1011;//二進制表示法,換算等于十進制的11
int n2 = 072;//八進制表示法,換算等于十進制的58
long n3 = 0XFF5C;//十六進制表示法,換算等于十進制的65372
以上代碼中就是數(shù)字的非十進制表示法以及對應(yīng)的換算結(jié)果。需要注意的是,我們在一開始就強調(diào)了這幾種表示法都是針對整數(shù)而言的,所以說,這幾種表示數(shù)字的寫法中,不能出現(xiàn)小數(shù)點,否則會出現(xiàn)語法錯誤!
浮點數(shù)的科學(xué)計數(shù)法
Java語言為了能夠讓浮點數(shù)表示出更大范圍的數(shù)字,除了允許我們使用常規(guī)寫法以外,還可以讓我們用科學(xué)計數(shù)法的形式表示浮點數(shù)。我們來看一個例子
`float n4 = 2.3E3F;//換算等于2.31000``
使用科學(xué)計數(shù)法表示浮點數(shù),需要用一個字母E來把系數(shù)和指數(shù)隔開。具體來說就是:字母E的前面是一個浮點數(shù),后面是一個整數(shù)。E之前的浮點數(shù)是系數(shù),而E之后的整數(shù)就表示10的多少次方,這個整數(shù)可以是負(fù)數(shù)。上面代碼中,數(shù)字2.3E3F其實就是2.3乘以10的3次方。在數(shù)字的最后又出現(xiàn)了一個字母F,是因為浮點數(shù)常量默認(rèn)都是double類型,把double類型的數(shù)據(jù)賦值給float類型的變量,要在末尾加字母F進行數(shù)據(jù)類型轉(zhuǎn)換。
另外,必須強調(diào)一點就是:科學(xué)計數(shù)法只能用來表示浮點數(shù),如果我們把一個用科學(xué)計數(shù)法表示的數(shù)字賦值給整型變量就會出現(xiàn)語法錯誤。即便字母E前面的系數(shù)不帶小數(shù)點也不行!
數(shù)字中帶有下劃線
int n5 = 1000000000;
如果你看到上面的數(shù)字,我想你肯定會數(shù)一下這個數(shù)字中有多少個0。我們知道,在財會行業(yè),為了降低讀錯數(shù)字的概率,人們經(jīng)常會在數(shù)字中加入逗號,比如會把100000寫成100,100。從JDK1.7開始,Java語言也借鑒了這種寫法,但做了一點點改變,把數(shù)字之間的分隔符用逗號改成了下劃線,比如說,我們可以把剛才代碼中那個很長的數(shù)字寫成
int n5 = 1_000_000_000;
對于這種加下劃線的寫法,需要強調(diào)幾個注意事項
1、這種寫法是從JDK1.7才開始引入的,早期版本的JDK并不支持這種寫法
2、下劃線出現(xiàn)的位置隨意,并非一定要每3位數(shù)字才能出現(xiàn)一個下劃線
3、無論浮點數(shù)還是整數(shù),數(shù)字當(dāng)中都可以出現(xiàn)下劃線
以上我們用一篇短文總結(jié)了Java語言中各種數(shù)字的非常規(guī)寫法,覺得不錯就點個贊吧!
如想系統(tǒng)學(xué)習(xí)Java編程,可以點擊這里觀看我在本站的視頻課程,有問題也可以加入我的QQ群291839907一起討論!