共计 3039 个字符,预计需要花费 8 分钟才能阅读完成。
1. Math 类
Math
类提供了一些根本的数学函数,如求平方根、绝对值、三角函数等。它是一个 final
类,并且所有的办法都是 static
的,因而无需创建对象,间接应用类名调用办法即可。
以下是 Math
类的一些罕用办法:
abs(double a)
:返回参数的绝对值。ceil(double a)
:返回大于或等于参数的最小整数值。floor(double a)
:返回小于或等于参数的最大整数值。round(double a)
:返回参数四舍五入后的整数值。max(double a, double b)
:返回两个参数中的最大值。min(double a, double b)
:返回两个参数中的最小值。sqrt(double a)
:返回参数的平方根。pow(double a, double b)
:返回a
的b
次幂。sin(double a)
:返回参数的正弦值。cos(double a)
:返回参数的余弦值。tan(double a)
:返回参数的正切值。
2. BigInteger 类
BigInteger
类示意任意精度的整数。在解决大整数时,int
和 long
的范畴可能不够用,此时能够应用 BigInteger
类。BigInteger
类提供了大量的办法来操作大整数,如加法、减法、乘法、除法等。
以下是创立 BigInteger
对象的一些办法:
BigInteger(String val)
:依据字符串创立BigInteger
对象。valueOf(long val)
:返回一个等于指定long
值的BigInteger
对象。
以下是 BigInteger
类的一些罕用办法:
add(BigInteger val)
:返回两个BigInteger
对象的和。subtract(BigInteger val)
:返回两个BigInteger
对象的差。multiply(BigInteger val)
:返回两个BigInteger
对象的积。divide(BigInteger val)
:返回两个BigInteger
对象的商。mod(BigInteger val)
:返回两个BigInteger
对象的余数。pow(int exponent)
:返回以后BigInteger
对象的指定次幂。
3. BigDecimal 类
BigDecimal
类示意任意精度的小数。在解决须要高精度计算的小数时,float
和 double
的范畴和精度可能不够用,此时能够应用 BigDecimal
类。BigDecimal
类提供了大量的办法来操作小数,如加法、减法、乘法、除法等。
以下是创立 BigDecimal
对象的一些办法:
BigDecimal(String val)
:依据字符串创立BigDecimal
对象。valueOf(double val)
:返回一个等于指定double
值的BigDecimal
对象。
以下是 BigDecimal
类的一些罕用办法:
add(BigDecimal val)
:返回两个BigDecimal
对象的和。subtract(BigDecimal val)
:返回两个BigDecimal
对象的差。multiply(BigDecimal val)
:返回两个BigDecimal
对象的积。divide(BigDecimal val, int scale, RoundingMode roundingMode)
:返回两个BigDecimal
对象的商,保留指定小数位数,并应用指定的舍入模式。setScale(int newScale, RoundingMode roundingMode)
:返回一个BigDecimal
对象,保留指定小数位数,并应用指定的舍入模式。
4. 示例
上面是一个应用 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("大整数相加:" + num1.add(num2)); // 输入 "大整数相加:1111111110111111110"
System.out.println("大整数相减:" + num1.subtract(num2)); // 输入 "大整数相减:864197532086419754"
System.out.println("大整数相乘:" + num1.multiply(num2)); // 输入 "大整数相乘:121932631137021795435340303682"
// 应用 BigDecimal 类
BigDecimal decimal1 = new BigDecimal("123.456");
BigDecimal decimal2 = new BigDecimal("789.012");
System.out.println("高精度小数相加:" + decimal1.add(decimal2)); // 输入 "高精度小数相加:912.468"
System.out.println("高精度小数相减:" + decimal1.subtract(decimal2)); // 输入 "高精度小数相减:-665.556"
// 高精度小数相乘
BigDecimal decimal3 = decimal1.multiply(decimal2);
System.out.println("高精度小数相乘:" + decimal3); // 输入 "高精度小数相乘:97421.697632"
// 高精度小数相除
BigDecimal decimal4 = decimal1.divide(decimal2, 5, RoundingMode.HALF_UP);
System.out.println("高精度小数相除:" + decimal4); // 输入 "高精度小数相除:0.15649"
// 设置小数位数和舍入模式
BigDecimal decimal5 = decimal3.setScale(2, RoundingMode.HALF_UP);
System.out.println("高精度小数保留 2 位小数:" + decimal5); // 输入 "高精度小数保留 2 位小数:97421.70"
}
}
通过这个示例,您能够理解到 Math
、BigInteger
和BigDecimal
的根本用法和罕用办法。在理论编程过程中,您会常常应用这些类来解决数学计算。心愿这个介绍能帮忙您更好地学习和了解 Java 中的数学类。
举荐浏览:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g
正文完