一、Math 类
-
概述:
java.lang.Math 提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为 double 型。
-
常用方法及示例:
(1) 数学算术:
* Math.abs(): 求绝对值 * Math.acos(), Math.asin(), Math.atan(), Math.cos(), Math.sin(), Math.tan(): 三角函数 * Math.sqrt(): 求平方根 * Math.pow(double a,doble b): 求a的b次幂 * Math.log():求自然对数 * Math.exp():求e为底指数 * Math.toDegrees(double angrad): 弧度—>角度 * Math.toRadians(double angdeg): 角度—>弧度 * Math.pow(int arg1,int arg2) : 求第一个参数的第二个参数次幂。
(2) 特殊数:
* Math.E :底数,是所有自然数的底数。 * Math.PI :π ,圆周率 。
(3)数学处理:
* Math.ceil() : 向上取整。 返回 doouble 类型的值。 * Math.floor() : 向下取整。 返回 doouble 类型的值。 * Math.max(double a,double b):求两个数的最大值。 * Math.min(double a,double b):求两个数的最小值。 * Math.random(): 返回0.0到1.0的随机数,不包含1。 * long Math.round(double a):double型数据a转换为long型(四舍五入)。
二、BigDecimal 类
-
概述:
一般的 Float 类和 Double 类可以用来做科学计算或工程计算,但在商业计算中,要求数字精度比较高,故用到 java.math.BigDecimal 类。BigDecimal 类支持任何精度的定点数。
-
常用方法及示例
* public BigDecimal add(BigDecimal augend) :精确加法 * public BigDecimal subtract(BigDecimal subtrahend):精确减法 * public BigDecimal multiply(BigDecimal multiplicand):精确乘法 * public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode) :精确除法。scale 表示保留的位数;在roundingMode中,ROUND_HALF_UP:表示向“最接近的”数字舍入;如果与两个相邻数字的距离相等,则向上舍入;ROUND_HALF_DOWN:表示舍弃部分> 0.5进1; ROUND_HALF_EVEN:表示银行家舍入法 ,向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。
//加法 BigDecimal b1 = BigDecimal.valueOf(value1); BigDecimal b2 = BigDecimal.valueOf(value2); b1.add(b2).doubleValue(); //减法 BigDecimal b1 = BigDecimal.valueOf(value1); BigDecimal b2 = BigDecimal.valueOf(value2); b1.subtract(b2).doubleValue(); //乘法 BigDecimal b1 = BigDecimal.valueOf(value1); BigDecimal b2 = BigDecimal.valueOf(value2); b1.multiply(b2).doubleValue(); //除法 BigInteger bi = new BigInteger("12433241123"); BigDecimal bd = new BigDecimal("12435.351"); BigDecimal bd2 = new BigDecimal("11"); System.out.println(bd.divide(bd2,BigDecimal.ROUND_HALF_UP)); //>=0.5进1 System.out.println(bd.divide(bd2,15,BigDecimal.ROUND_HALF_DOWN)); //>0.5进1 System.out.println(bd.divide(bd2,15,BigDecimal.ROUND_HALF_EVEN));
三、Java常用类系列(三): Java常用类系列(三)——文件类(File)