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

java數(shù)學(xué)類Math?BigInteger?BigDecimal使用介紹

 更新時(shí)間:2023年06月06日 10:09:18   作者:移動(dòng)安全星球  
這篇文章主要為大家介紹了java數(shù)學(xué)類Math、BigInteger、BigDecimal的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

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):返回ab次冪。
  • sin(double a):返回參數(shù)的正弦值。
  • cos(double a):返回參數(shù)的余弦值。
  • tan(double a):返回參數(shù)的正切值。

2. BigInteger類

BigInteger類表示任意精度的整數(shù)。在處理大整數(shù)時(shí),intlong的范圍可能不夠用,此時(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í),floatdouble的范圍和精度可能不夠用,此時(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è)使用MathBigIntegerBigDecimal類的示例:

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、BigIntegerBigDecimal的基本用法和常用方法。在實(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)文章!

相關(guān)文章

最新評(píng)論