数学处理类
Math类的概述
(1)基本概念
java.lang.Math类主要用于提供执行数学运算的方法,如:对数,平方根。
(2)常用的方法
方法声明 功能介绍 static int max(int a, int b) 返回两个参数中的最大值 static int min(int a, int b) 返回两个参数中的最小值 static double pow(double a, double b) 返回第一个参数的幂 static int abs(int a) 返回参数指定数值的绝对值 static long round(double a) 返回参数四舍五入的结果 static double sqrt(double a) 返回参数的平方根 static double random() 返回0.0到1.0的随机数 [0.1),无限靠近1
public class MathTest {
public static void main ( String [ ] args) {
System . out. println ( "获取两个整数中最大值的结果是:" + Math . max ( 10 , 20 ) ) ;
System . out. println ( "获取两个整数中最小值的结果是:" + Math . min ( 10 , 20 ) ) ;
System . out. println ( "获取次方的结果是:" + Math . pow ( 2 , 3 ) ) ;
System . out. println ( "获取绝对值的结果是:" + Math . abs ( - 5 ) ) ;
System . out. println ( "进行四舍五入的结果是:" + Math . round ( 3.14 ) ) ;
System . out. println ( "该整数的平方根是:" + Math . sqrt ( 16 ) ) ;
System . out. println ( "生成的随机数是:" + Math . random ( ) ) ;
}
}
获取两个整数中最大值的结果是:20
获取两个整数中最小值的结果是:10
获取次方的结果是:8.0
获取绝对值的结果是:5
进行四舍五入的结果是:3
该整数的平方根是:4.0
生成的随机数是:0.2728449539739869
BigDecimal类的概述
(1)基本概念
由于flfloat类型和double类型在运算时可能会有误差,若希望实现精确运算则借助java.math.BigDecimal类型加以描述。
(2)常用的方法
方法声明 功能介绍 BigDecimal(String val) 根据参数指定的字符串来构造对象 BigDecimal add(BigDecimal augend) 用于实现加法运算 BigDecimal subtract(BigDecimal subtrahend) 用于实现减法运算 BigDecimal multiply(BigDecimal multiplicand) 用于实现乘法运算 BigDecimal divide(BigDecimal divisor) 用于实现除法运算
import java. math. BigDecimal ;
import java. math. RoundingMode ;
public class BigDecimalTest {
public static void main ( String [ ] args) {
BigDecimal bd1 = new BigDecimal ( "5.2" ) ;
BigDecimal bd2 = new BigDecimal ( "1.3" ) ;
System . out. println ( "实现加法运算的结果是:" + bd1. add ( bd2) ) ;
System . out. println ( "实现减法运算的结果是:" + bd1. subtract ( bd2) ) ;
System . out. println ( "实现乘法运算的结果是:" + bd1. multiply ( bd2) ) ;
System . out. println ( "实现除法运算的结果是:" + bd1. divide ( bd2) ) ;
System . out. println ( "---------------------------------------------------------------" ) ;
System . out. println ( 0.1 + 0.2 ) ;
BigDecimal bd3 = new BigDecimal ( "0.1" ) ;
BigDecimal bd4 = new BigDecimal ( "0.2" ) ;
System . out. println ( "精确计算的结果是:" + bd3. add ( bd4) ) ;
System . out. println ( "---------------------------------------------------------------" ) ;
BigDecimal bd5 = new BigDecimal ( "2" ) ;
BigDecimal bd6 = new BigDecimal ( "0.3" ) ;
System . out. println ( "除法运算的结果是:" + bd5. divide ( bd6, RoundingMode . HALF_UP) ) ;
}
}
实现加法运算的结果是:6.5
实现减法运算的结果是:3.9
实现乘法运算的结果是:6.76
实现除法运算的结果是:4
---------------------------------------------------------------
0.30000000000000004
精确计算的结果是:0.3
---------------------------------------------------------------
除法运算的结果是:7
BigInteger类的概念
(1)基本概念
若希望表示比long类型范围还大的整数数据,则需要借助java.math.BigInteger类型描述
(2)常用的方法
方法声明 功能介绍 BigInteger(String val) 根据参数指定的字符串来构造对象 BigInteger add(BigInteger val) 用于实现加法运算 BigInteger subtract(BigInteger val) 用于实现减法运算 BigInteger multiply(BigInteger val) 用于实现乘法运算 BigInteger divide(BigInteger val) 用于实现除法运算 BigInteger remainder(BigInteger val) 用于实现取余运算 BigInteger[] divideAndRemainder(BigInteger val) 用于实现取商和余数的运算
import java. math. BigInteger ;
public class BigIntegerTest {
public static void main ( String [ ] args) {
BigInteger bi1 = new BigInteger ( "20" ) ;
BigInteger bi2 = new BigInteger ( "8" ) ;
System . out. println ( "实现加法运算的结果是:" + bi1. add ( bi2) ) ;
System . out. println ( "实现减法运算的结果是:" + bi1. subtract ( bi2) ) ;
System . out. println ( "实现乘法运算的结果是:" + bi1. multiply ( bi2) ) ;
System . out. println ( "实现除法运算的结果是:" + bi1. divide ( bi2) ) ;
System . out. println ( "实现取余运算的结果是:" + bi1. remainder ( bi2) ) ;
System . out. println ( "-----------------------------------------------------" ) ;
BigInteger [ ] arr = bi1. divideAndRemainder ( bi2) ;
for ( int i = 0 ; i < arr. length; i++ ) {
System . out. println ( "下标为" + i + "的元素是:" + arr[ i] ) ;
}
}
}
实现加法运算的结果是:28
实现减法运算的结果是:12
实现乘法运算的结果是:160
实现除法运算的结果是:2
实现取余运算的结果是:4
-----------------------------------------------------
下标为0的元素是:2
下标为1的元素是:4