欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaAPI中BigInteger、BigDecimal的使用方法及應用

 更新時間:2024年11月05日 11:43:07   作者:在下小吉.  
這篇文章主要給大家介紹了關于JavaAPI中BigInteger、BigDecimal的使用方法及應用,BigInteger是Java中用于表示任意大小整數(shù)的類,它提供了加、減、乘、除等多種運算方法,適用于大整數(shù)處理和高精度計算場景,需要的朋友可以參考下

BigInteger

BigInteger 是 Java 中的一個類,用于表示任意大小的整數(shù)。與基本數(shù)據(jù)類型 int 或 long 不同,BigInteger 沒有固定的范圍,可以表示非常大的整數(shù)值。

BigInteger 類提供了許多方法來進行整數(shù)的運算,包括加法、減法、乘法、除法、取余等。它還支持比較、位操作、冪運算等功能。

BigInteger 類的優(yōu)點是可以準確地表示和計算任意大小的整數(shù),而不會出現(xiàn)溢出的情況。這對于處理大整數(shù)、加密算法、密碼學等領域非常有用。

但需要注意的是,由于 BigInteger 是一個對象,而不是基本數(shù)據(jù)類型,因此在使用時需要進行對象的創(chuàng)建和方法調(diào)用,會導致一定的性能損失。在處理一般大小的整數(shù)時,可以使用基本數(shù)據(jù)類型 int 或 long 來獲得更高的性能。

總之,BigInteger 是用于處理任意大小整數(shù)的類,適用于需要高精度計算或處理非常大整數(shù)值的場景。

獲取BigInteger對象

獲取一個隨機的大整數(shù)

Random random=new Random();
BigInteger bigInteger=new BigInteger(number,random);

表示返回0 ~ 2^number-1之間的一個整數(shù)

獲取指定的大整數(shù)

BigInteger bigInteger=new BigInteger(number);

注意

只能是獲取整數(shù),不能獲取小數(shù)或者字母

獲取指定進制的大整數(shù)

BigInteger bigInteger=new BigInteger(number,進制);

注意

  • 進制與number一定要吻合,比如設置為二進制時,number必須為0和1組成的數(shù)(例如100,123就不行)
  • 數(shù)字不能是小數(shù)

靜態(tài)方法獲取BigInteger的對象,內(nèi)部有優(yōu)化

注意

???‍??能表示的范圍比較小,在long的取值范圍之內(nèi),超出long的范圍就不行了
long的最大值是9223372036854775807

但是如果換成了下面這一種方式,就不會報錯

證明了靜態(tài)方法獲取BigInteger的對象的范圍比較小

???‍??在內(nèi)部,對數(shù)字-16~16進行了優(yōu)化

提前把-16~16先創(chuàng)建好BigInteger的對象,如果多次獲取,不會創(chuàng)建新的對象

在這里插入圖片描述

???‍??對象一旦創(chuàng)建,內(nèi)部的數(shù)據(jù)就不能發(fā)生變化

只要計算,就會產(chǎn)生新的對象

BigInteger常見成員方法

加減乘

獲取商

BigInteger resault=bigInteger1.divide(bigInteger2);

獲取商和余數(shù)

BigInteger[] arr=bigInteger1.divideAndRemainder(bigInteger2);

比較是否相同

次冪

獲取較大值

變?yōu)閘ong類型的整數(shù)

總結

BigDecimal

在編程中,特別是在處理金融、貨幣、精確計算等領域,使用 BigDecimal 進行運算可以提供更準確的結果。這是因為 BigDecimal 類在內(nèi)部使用了任意精度的定點數(shù)表示法,可以表示和計算非常大或非常小的數(shù)值,同時保持高精度。

相比之下,其他數(shù)據(jù)類型(如 float 或 double)使用浮點數(shù)表示法,其在表示和計算過程中存在精度限制和舍入誤差。這是因為浮點數(shù)使用有限的二進制位表示小數(shù),無法準確表示某些十進制數(shù)。這可能導致在進行精確計算時出現(xiàn)舍入錯誤或不精確的結果。

然而,需要注意的是,由于 BigDecimal 在內(nèi)存使用和計算速度方面較 float 或 double 更為消耗資源,因此在處理大量數(shù)據(jù)或需要高性能的場景下,需要權衡精度和性能之間的取舍。

通過傳遞字符串表示的數(shù)字來創(chuàng)建對象

通過靜態(tài)方法獲取對象

注意

  • 如果要表示的數(shù)字不大,沒有超出double的取值范圍,建議使用靜態(tài)方法
  • 如果要表示的數(shù)字比較大,超出了double的取值范圍,建議使用構造方法
  • 如果我們傳遞的是0~10之間的整數(shù),包含0,包含10,那么方法會返回已經(jīng)創(chuàng)建好的對象,不會重新new

加減乘

精確模式

public BigDecimal divide(BigDecimal val,精確幾位,舍入模式);

ctrl+p可以看有什么參數(shù)

總結

到此這篇關于JavaAPI中BigInteger、BigDecimal的使用方法及應用的文章就介紹到這了,更多相關JavaAPI BigInteger、BigDecimal使用方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • mybatis in查詢條件過長的解決方案

    mybatis in查詢條件過長的解決方案

    這篇文章主要介紹了mybatis in查詢條件過長的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • SpringBoot實現(xiàn)攔截器、過濾器、監(jiān)聽器過程解析

    SpringBoot實現(xiàn)攔截器、過濾器、監(jiān)聽器過程解析

    這篇文章主要介紹了SpringBoot實現(xiàn)攔截器、過濾器、監(jiān)聽器過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Windows下java、javaw、javaws以及jvm.dll等進程的區(qū)別

    Windows下java、javaw、javaws以及jvm.dll等進程的區(qū)別

    這篇文章主要介紹了Windows下java、javaw、javaws以及jvm.dll等進程的區(qū)別,本文分別講解了它們的作用并給出代碼實例,最后做出了區(qū)別總結,需要的朋友可以參考下
    2015-03-03
  • Java實現(xiàn)List集合手動分頁的方法

    Java實現(xiàn)List集合手動分頁的方法

    在工作中難免會遇到,將組裝的集合數(shù)據(jù)進行分頁處理,本文主要介紹了Java實現(xiàn)List集合手動分頁的方法,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Spring Boot 工程的創(chuàng)建和運行(圖文)

    Spring Boot 工程的創(chuàng)建和運行(圖文)

    這篇文章主要介紹了Spring Boot 工程的創(chuàng)建和運行(圖文),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Spring MVC創(chuàng)建項目踩過的bug

    Spring MVC創(chuàng)建項目踩過的bug

    這篇文章主要介紹了Spring MVC創(chuàng)建項目踩過的bug,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • mybatis?xml文件熱加載實現(xiàn)示例詳解

    mybatis?xml文件熱加載實現(xiàn)示例詳解

    這篇文章主要為大家介紹了mybatis?xml文件熱加載實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Spring框架設值注入操作實戰(zhàn)案例分析

    Spring框架設值注入操作實戰(zhàn)案例分析

    這篇文章主要介紹了Spring框架設值注入操作,結合具體實例形式分析了spring框架設值注入相關實現(xiàn)與使用方法,需要的朋友可以參考下
    2019-11-11
  • SpringMVC入門實例

    SpringMVC入門實例

    這篇文章主要介紹了SpringMVC入門實例,在springmvc入門教程里算是比較不錯的,結構也比較完整,需要的朋友可以參考。
    2017-11-11
  • java實現(xiàn)攝像頭截圖功能

    java實現(xiàn)攝像頭截圖功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)攝像頭截圖功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10

最新評論