這篇文章將為大家詳細(xì)講解有關(guān)java中的浮點(diǎn)型數(shù)據(jù)類型,文章內(nèi)容質(zhì)量較高,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為從化等服務(wù)建站,從化等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為從化企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。浮點(diǎn)型
首先明確java中浮點(diǎn)型數(shù)據(jù)類型主要有:單精度
float
、雙精度double
至于浮點(diǎn)型就是跟
int
,string
類型差不多。都是數(shù)據(jù)類型。
浮點(diǎn)型(Floating-Point Types):簡單說就是小數(shù)類型,小數(shù)點(diǎn)可以在相應(yīng)的二進(jìn)制的不同位置浮動(dòng)。也就是人們知道的實(shí)數(shù)(real),當(dāng)計(jì)算的表達(dá)式有精度要求時(shí)被使用。例如,計(jì)算平方根,或超出人類經(jīng)驗(yàn)的計(jì)算如正弦和余弦,它們的計(jì)算結(jié)果的精度要求使用浮點(diǎn)型。Java 實(shí)現(xiàn)了標(biāo)準(zhǔn)(IEEE-754 )的浮點(diǎn)型和運(yùn)算符集。有2種浮點(diǎn)型,單精度浮點(diǎn)型(float )及雙精度(double )浮點(diǎn)型。
浮點(diǎn)型常量 Java的實(shí)常數(shù)有兩種表示形式:
1、 十進(jìn)制數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成,且必須有小數(shù)點(diǎn),如
0.123
,123.0
2、科學(xué)計(jì)數(shù)法形式:如:123e3或123E3,其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)(當(dāng)然也包括負(fù)整數(shù))。
科學(xué)計(jì)數(shù)法中的E
了解浮點(diǎn)型常量 Java的實(shí)常數(shù)有兩種表示形式之后,很有必要給各位科普科普下科學(xué)計(jì)數(shù)法中E
的面貌了~
E
是指數(shù)的意思,E
代表的英文是exponent
,E
表示10的多少次方的意思。比如
7.823E5 = 782300
這里E5
表示10的5次方,再比如54.3E-2 = 0.543
這里E-2
表示10的-2次方
再補(bǔ)充一點(diǎn)(針對負(fù)次方理解)
一個(gè)數(shù)的負(fù)幾次方就是這個(gè)數(shù)的幾次方的倒數(shù)。
比如: 2的負(fù)1次方=2的1次方分之一=
1/2
比如: 3的負(fù)2次方=3的2次方分之一=
1/9
雙精度浮點(diǎn)數(shù)(double)
雙精度浮點(diǎn)數(shù)在機(jī)內(nèi)占
8
個(gè)字節(jié)、有效數(shù)字16
位、表示范圍:-1.79E+308 ~ +1.79E+308
double
的精度太低,不適合用于做財(cái)務(wù)軟件,財(cái)務(wù)涉及到錢的問題,要求精度較高,所以在java中有一個(gè)基礎(chǔ)的類庫名為:java.math.BigDecimal
,但這個(gè)BigDecimal
類型是引用類型不是基礎(chǔ)類型,切記?。?!
在講單精度浮點(diǎn)數(shù)(float
)的時(shí)候,差不多順道把double
之間的區(qū)別講了哈哈,所以最后給張很經(jīng)典的圖片“敷衍敷衍”下,哈哈哈 ~哎哎哎..別打...別打...別打臉QAQ~
單精度浮點(diǎn)數(shù)(float)
單精度浮點(diǎn)數(shù)在機(jī)內(nèi)占
4
個(gè)字節(jié)、有效數(shù)字8
位、表示范圍:-3.40E+38 ~ +3.40E+38
在Java語言當(dāng)中,所有的浮點(diǎn)型字面值 ~【V8提示】浮點(diǎn)型簡單來說就是表示帶有小數(shù)的數(shù)據(jù)~ 默認(rèn)當(dāng)做double
類型來處理,要想該字面值當(dāng)做float
類型來處理,需要在字面值后面添加F/f
,或者強(qiáng)制裝換為float
。具體如下代碼:
public static void main(String[] args) { //3.10是浮點(diǎn)型,浮點(diǎn)型字面值默認(rèn)當(dāng)做double類型來處理,直接編譯通過; double d=3.10; //3.10是浮點(diǎn)型,則必須加 F或者f,若沒加,直接編譯不通過,會(huì)報(bào)錯(cuò)“損失精度” float f=3.10; //編譯出錯(cuò)會(huì)報(bào)錯(cuò)“損失精度” // 解決辦法: // 第一種方式:強(qiáng)制類型轉(zhuǎn)換 float f1=(float)5.1; // 第二種方式:沒有類型轉(zhuǎn)換; folat f2=5.1f; }
再來看看下面的測試,結(jié)果肯定十之八九會(huì)在意料之外
public static void main(String[] args) { float a = 12345678.90123456789f; double b=0.12345678901234567890; float c=0.12345678901234567890f; System.out.println(a); System.out.println(b); System.out.println(c); 打印結(jié)果 a = 1.2345679E7 b = 0.12345678901234568 c = 0.12345679 }
以上就是java中的浮點(diǎn)型數(shù)據(jù)類型,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊,感謝各位的閱讀。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。