溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中的浮點型數(shù)據(jù)類型有哪幾種

發(fā)布時間:2020-06-23 14:14:45 來源:億速云 閱讀:734 作者:元一 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)java中的浮點型數(shù)據(jù)類型,文章內(nèi)容質(zhì)量較高,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

浮點型

首先明確java中浮點型數(shù)據(jù)類型主要有:單精度float、雙精度double

至于浮點型就是跟int ,string類型差不多。都是數(shù)據(jù)類型。

浮點型(Floating-Point Types):簡單說就是小數(shù)類型,小數(shù)點可以在相應的二進制的不同位置浮動。也就是人們知道的實數(shù)(real),當計算的表達式有精度要求時被使用。例如,計算平方根,或超出人類經(jīng)驗的計算如正弦和余弦,它們的計算結(jié)果的精度要求使用浮點型。Java 實現(xiàn)了標準(IEEE-754 )的浮點型和運算符集。有2種浮點型,單精度浮點型(float )及雙精度(double )浮點型。

浮點型常量 Java的實常數(shù)有兩種表示形式:

1、 十進制數(shù)形式:由數(shù)字和小數(shù)點組成,且必須有小數(shù)點,如0.123 , 123.0

2、科學計數(shù)法形式:如:123e3或123E3,其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)(當然也包括負整數(shù))。

科學計數(shù)法中的E

了解浮點型常量 Java的實常數(shù)有兩種表示形式之后,很有必要給各位科普科普下科學計數(shù)法中E的面貌了~

E是指數(shù)的意思,E代表的英文是exponent,E表示10的多少次方的意思。

比如7.823E5 = 782300 這里E5表示10的5次方,再比如54.3E-2 = 0.543這里E-2表示10的-2次方

再補充一點(針對負次方理解

一個數(shù)的負幾次方就是這個數(shù)的幾次方的倒數(shù)。

比如: 2的負1次方=2的1次方分之一=1/2

比如: 3的負2次方=3的2次方分之一=1/9

雙精度浮點數(shù)(double)

雙精度浮點數(shù)在機內(nèi)占8個字節(jié)、有效數(shù)字16位、表示范圍:-1.79E+308 ~ +1.79E+308

double的精度太低,不適合用于做財務軟件,財務涉及到錢的問題,要求精度較高,所以在java中有一個基礎(chǔ)的類庫名為:java.math.BigDecimal,但這個BigDecimal類型是引用類型不是基礎(chǔ)類型,切記?。?!

在講單精度浮點數(shù)(float)的時候,差不多順道把double之間的區(qū)別講了哈哈,所以最后給張很經(jīng)典的圖片“敷衍敷衍”下,哈哈哈 ~哎哎哎..別打...別打...別打臉QAQ~
java中的浮點型數(shù)據(jù)類型有哪幾種


單精度浮點數(shù)(float)

單精度浮點數(shù)在機內(nèi)占4個字節(jié)、有效數(shù)字8位、表示范圍:-3.40E+38 ~ +3.40E+38

在Java語言當中,所有的浮點型字面值 ~【V8提示】浮點型簡單來說就是表示帶有小數(shù)的數(shù)據(jù)~ 默認當做double類型來處理,要想該字面值當做float類型來處理,需要在字面值后面添加F/f,或者強制裝換為float。具體如下代碼:

 public static void main(String[] args) {
   //3.10是浮點型,浮點型字面值默認當做double類型來處理,直接編譯通過;
      double d=3.10;
   //3.10是浮點型,則必須加 F或者f,若沒加,直接編譯不通過,會報錯“損失精度”   
      float f=3.10;  //編譯出錯會報錯“損失精度”
     //   解決辦法:
     //   第一種方式:強制類型轉(zhuǎn)換
        float f1=(float)5.1;
     //   第二種方式:沒有類型轉(zhuǎn)換;
        folat f2=5.1f;
    }

再來看看下面的測試,結(jié)果肯定十之八九會在意料之外

 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中的浮點型數(shù)據(jù)類型,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊,感謝各位的閱讀。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI