java數(shù)學(xué)類Math?BigInteger?BigDecimal使用介紹
1. Math類
Math
類提供了一些基本的數(shù)學(xué)函數(shù),如求平方根、絕對值、三角函數(shù)等。它是一個(gè)final
類,并且所有的方法都是static
的,因此無需創(chuàng)建對象,直接使用類名調(diào)用方法即可。
以下是Math
類的一些常用方法:
abs(double a)
:返回參數(shù)的絕對值。ceil(double a)
:返回大于或等于參數(shù)的最小整數(shù)值。floor(double a)
:返回小于或等于參數(shù)的最大整數(shù)值。round(double a)
:返回參數(shù)四舍五入后的整數(shù)值。max(double a, double b)
:返回兩個(gè)參數(shù)中的最大值。min(double a, double b)
:返回兩個(gè)參數(shù)中的最小值。sqrt(double a)
:返回參數(shù)的平方根。pow(double a, double b)
:返回a
的b
次冪。sin(double a)
:返回參數(shù)的正弦值。cos(double a)
:返回參數(shù)的余弦值。tan(double a)
:返回參數(shù)的正切值。
2. BigInteger類
BigInteger
類表示任意精度的整數(shù)。在處理大整數(shù)時(shí),int
和long
的范圍可能不夠用,此時(shí)可以使用BigInteger
類。BigInteger
類提供了大量的方法來操作大整數(shù),如加法、減法、乘法、除法等。
以下是創(chuàng)建BigInteger
對象的一些方法:
BigInteger(String val)
:根據(jù)字符串創(chuàng)建BigInteger
對象。valueOf(long val)
:返回一個(gè)等于指定long
值的BigInteger
對象。
以下是BigInteger
類的一些常用方法:
add(BigInteger val)
:返回兩個(gè)BigInteger
對象的和。subtract(BigInteger val)
:返回兩個(gè)BigInteger
對象的差。multiply(BigInteger val)
:返回兩個(gè)BigInteger
對象的積。divide(BigInteger val)
:返回兩個(gè)BigInteger
對象的商。mod(BigInteger val)
:返回兩個(gè)BigInteger
對象的余數(shù)。pow(int exponent)
:返回當(dāng)前BigInteger
對象的指定次冪。
3. BigDecimal類
BigDecimal
類表示任意精度的小數(shù)。在處理需要高精度計(jì)算的小數(shù)時(shí),float
和double
的范圍和精度可能不夠用,此時(shí)可以使用BigDecimal
類。BigDecimal
類提供了大量的方法來操作小數(shù),如加法、減法、乘法、除法等。
以下是創(chuàng)建BigDecimal
對象的一些方法:
BigDecimal(String val)
:根據(jù)字符串創(chuàng)建BigDecimal
對象。valueOf(double val)
:返回一個(gè)等于指定double
值的BigDecimal
對象。
以下是BigDecimal
類的一些常用方法:
add(BigDecimal val)
:返回兩個(gè)BigDecimal
對象的和。subtract(BigDecimal val)
:返回兩個(gè)BigDecimal
對象的差。multiply(BigDecimal val)
:返回兩個(gè)BigDecimal
對象的積。divide(BigDecimal val, int scale, RoundingMode roundingMode)
:返回兩個(gè)BigDecimal
對象的商,保留指定小數(shù)位數(shù),并使用指定的舍入模式。setScale(int newScale, RoundingMode roundingMode)
:返回一個(gè)BigDecimal
對象,保留指定小數(shù)位數(shù),并使用指定的舍入模式。
4. 示例
下面是一個(gè)使用Math
、BigInteger
和BigDecimal
類的示例:
import java.math.BigDecimal; import java.math.BigInteger; import java.math.RoundingMode; public class Main { public static void main(String[] args) { // 使用Math類 System.out.println("絕對值:" + Math.abs(-10)); // 輸出 "絕對值:10" System.out.println("平方根:" + Math.sqrt(9)); // 輸出 "平方根:3.0" System.out.println("最大值:" + Math.max(3, 7)); // 輸出 "最大值:7" // 使用BigInteger類 BigInteger num1 = new BigInteger("987654321098765432"); BigInteger num2 = new BigInteger("123456789012345678"); System.out.println("大整數(shù)相加:" + num1.add(num2)); // 輸出 "大整數(shù)相加:1111111110111111110" System.out.println("大整數(shù)相減:" + num1.subtract(num2)); // 輸出 "大整數(shù)相減:864197532086419754" System.out.println("大整數(shù)相乘:" + num1.multiply(num2)); // 輸出 "大整數(shù)相乘:121932631137021795435340303682" // 使用BigDecimal類 BigDecimal decimal1 = new BigDecimal("123.456"); BigDecimal decimal2 = new BigDecimal("789.012"); System.out.println("高精度小數(shù)相加:" + decimal1.add(decimal2)); // 輸出 "高精度小數(shù)相加:912.468" System.out.println("高精度小數(shù)相減:" + decimal1.subtract(decimal2)); // 輸出 "高精度小數(shù)相減:-665.556" // 高精度小數(shù)相乘 BigDecimal decimal3 = decimal1.multiply(decimal2); System.out.println("高精度小數(shù)相乘:" + decimal3); // 輸出 "高精度小數(shù)相乘:97421.697632" // 高精度小數(shù)相除 BigDecimal decimal4 = decimal1.divide(decimal2, 5, RoundingMode.HALF_UP); System.out.println("高精度小數(shù)相除:" + decimal4); // 輸出 "高精度小數(shù)相除:0.15649" // 設(shè)置小數(shù)位數(shù)和舍入模式 BigDecimal decimal5 = decimal3.setScale(2, RoundingMode.HALF_UP); System.out.println("高精度小數(shù)保留2位小數(shù):" + decimal5); // 輸出 "高精度小數(shù)保留2位小數(shù):97421.70" } }
通過這個(gè)示例,您可以了解到Math
、BigInteger
和BigDecimal
的基本用法和常用方法。在實(shí)際編程過程中,您會(huì)經(jīng)常使用這些類來處理數(shù)學(xué)計(jì)算。希望這個(gè)介紹能幫助您更好地學(xué)習(xí)和理解Java中的數(shù)學(xué)類。
以上就是java數(shù)學(xué)類(Math、BigInteger、BigDecimal)的詳細(xì)內(nèi)容,更多關(guān)于java 數(shù)學(xué)類的資料請關(guān)注腳本之家其它相關(guān)文章!
- Java BigInteger類,BigDecimal類,Date類,DateFormat類及Calendar類用法示例
- JAVA基本類型包裝類 BigDecimal BigInteger 的使用
- Java你不了解的大數(shù)型BigInteger與BigDecimal類
- Java Big Number操作BigInteger及BigDecimal類詳解
- JAVA?biginteger類bigdecimal類的使用示例學(xué)習(xí)
- Java中BigInteger與BigDecimal類用法總結(jié)
- Java中的System類、BigInteger類和BigDecimal類詳解
- JavaAPI中BigInteger、BigDecimal的使用方法及應(yīng)用
相關(guān)文章
使用Spring的FactoryBean創(chuàng)建和獲取Bean對象方式
這篇文章主要介紹了使用Spring的FactoryBean創(chuàng)建和獲取Bean對象方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03SpringBoot Maven打包插件spring-boot-maven-plugin無法解析原因
spring-boot-maven-plugin是spring boot提供的maven打包插件,本文主要介紹了SpringBoot Maven打包插件spring-boot-maven-plugin無法解析原因,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03Java動(dòng)態(tài)驗(yàn)證碼單線設(shè)計(jì)的兩種方法
這篇文章主要介紹了Java動(dòng)態(tài)驗(yàn)證碼單線設(shè)計(jì)的兩種方法,需要的朋友可以參考下2018-07-07Java ArrayList與LinkedList及HashMap容器的用法區(qū)別
這篇文章主要介紹了Java ArrayList與LinkedList及HashMap容器的用法區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-07-07java實(shí)現(xiàn)數(shù)據(jù)庫主鍵生成示例
這篇文章主要介紹了java實(shí)現(xiàn)數(shù)據(jù)庫主鍵生成示例,需要的朋友可以參考下2014-03-03使用Spring特性實(shí)現(xiàn)接口多實(shí)現(xiàn)類的動(dòng)態(tài)調(diào)用方式
這篇文章主要介紹了使用Spring特性實(shí)現(xiàn)接口多實(shí)現(xiàn)類的動(dòng)態(tài)調(diào)用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02