java基础--MathUtil ,BigDecimal计算数学工具类

MathUtil – 双曲函数

/**
 * Math
 sinh()方法用于求指定值得双曲正玄值,该方法是一个静态方法,可以类名直接调用
 *    public static double sinh(double a)
 *        a:要返回其双曲正玄的值
 *        返回值:值a的双曲正玄值
 *  cosh()方法用于求指定值得双曲余玄值,该方法是一个静态方法,可以类名直接调用      
 *  public static double cosh(double a)
 *        a:要返回其双曲余玄的值
 *        返回值:值a的双曲余玄值
 *  tanh()方法 用于求指定值得双曲正切值,该方法是一个静态方法,可以类名直接调用 
 *    public static double tanh(double a)
 *        a:要返回其双曲正切的值
 *        返回值:值a的双曲正切值  
 * ***/
public class MathUtil02 {
    public static void main(String[] args) {
        System.out.println("30的双曲正弦值:" + Math.sinh(30));// 计算30的双曲正弦函数值
        System.out.println("30的双曲余弦值:" + Math.cosh(30));// 计算30的双曲余弦函数值
        System.out.println("30的双曲正切值:" + Math.tanh(30));// 计算30的双曲正切函数值
    }
}

标题 MathUtil – 反角函数

/**
 * 反角函数统称用于获得么些三角函数值所对应的弧度,进而转换为角度
 * Math类
 * asin()方法用于求指定值得反正玄值,该方法是一个静态方法,可以类名直接调用
 *    public static double asin(double a)
 *        a:要返回其反正玄的值
 *        返回值:值a的反正玄值
 *  acos()方法用于求指定值得反余玄值,该方法是一个静态方法,可以类名直接调用      
 *  public static double acos(double a)
 *        a:要返回其反余玄的值
 *        返回值:值a的反余玄值
 *  atan()方法 用于求指定值得反正切值,该方法是一个静态方法,可以类名直接调用 
 *    public static double atan(double a)
 *        a:要返回其反正切的值
 *        返回值:值a的反正切值      
 * ***/
public class MathUtil02{
    public static void main(String[] args) {
        System.out.println("0.5的反正弦值:" + Math.asin(0.5));// 计算0.5的反正弦
        System.out.println("0.866的反余弦值:" + Math.acos(0.866));// 计算0.866的反余弦
        System.out.println("0.5774的反正切值:" + Math.atan(0.5774));// 计算0.5774的反正切
    }
}

public class MathUtil12{
    public static void main(String[] args) {
        System.out.println("30°的正弦值:" + Math.sin(Math.PI / 6));// 计算30°的正弦值
        System.out.println("30°的余弦值:" + Math.cos(Math.PI / 6));// 计算30°的余弦值
        System.out.println("30°的正切值:" + Math.tan(Math.PI / 6));// 计算30°的正切值
    }
}

BigDecimal-- 高精度浮点运算

public class MathUtilBigDecimal {
    public static void main(String[] args) {
        BigDecimal number1 = new BigDecimal(1.2345); // 声明高精度浮点数number1
        BigDecimal number2 = new BigDecimal(5.4321); // 声明高精度浮点数number2
        BigDecimal addition = number1.add(number2); // 计算number1加number2
        BigDecimal subtraction = number1.subtract(number2); // 计算number1减number2
        BigDecimal multiplication = number1.multiply(number2); // 计算number1乘number2
        // 以四舍五入的方式获得高精度除法运算的结果
        BigDecimal division = number1.divide(number2, RoundingMode.HALF_UP);
        System.out.println("高精度浮点数number1:" + number1);
        System.out.println("高精度浮点数number2:" + number2);
        System.out.println("高精度浮点数加法:" + addition);
        System.out.println("高精度浮点数减法:" + subtraction);
        System.out.println("高精度浮点数乘法:" + multiplication);
        System.out.println("高精度浮点数除法:" + division);
    }
}

BigInteger-- 高精度 整数运算

/**
 * 弥补虚拟机在高精度计算方面的不足,java推出BigInteger类,可以完成任意精度的整数运算
 *     该类虽然能大幅度提高运算的精度,但是牺牲的却是性能,因此对于普通运算不推荐使用
 *     BigInteger没有int long等类型的构造方法,所以本例使用字符串来构造高精度整数
 *      此类可以表示不可变的,任意精度的整数,所以操作中,都以二进制补码形式表示BigInteger(如java的基本整数类型)
 *      BigInteger提供所以Java的基本整数操作符的对应物,并提供Java.lang.math的所有相关方法
 *        提供的运算:模算术,Gcd计算,指数测试,素数生成,位操作以及一些其他操作
 *          此类的add() subtract(),multiply()和divide()方法实现了加,减,乘,除四则运算
 * 
 * **/
import java.math.BigInteger;
public class MathUtilBigInteger {
    public static void main(String[] args) {
        BigInteger number1 = new BigInteger("12345"); // 声明高精度整数number1
        BigInteger number2 = new BigInteger("54321"); // 声明高精度整数number2
        BigInteger addition = number1.add(number2); // 计算number1加number2
        BigInteger subtraction = number1.subtract(number2); // 计算number1减number2
        BigInteger multiplication = number1.multiply(number2); // 计算number1乘number2
        BigInteger division = number1.divide(number2); // 计算number1除number2
        System.out.println("高精度整数number1:" + number1);
        System.out.println("高精度整数number2:" + number2);
        System.out.println("高精度整数加法:" + addition);
        System.out.println("高精度整数减法:" + subtraction);
        System.out.println("高精度整数乘法:" + multiplication);
        System.out.println("高精度整数除法:" + division);
    }

MathUtil – 指数与对数的运算

public class MathUtil03 {
    public static void main(String[] args) {
        System.out.println("8的立方根是:" + Math.cbrt(8));
        System.out.println("e的8次方是:" + Math.exp(8));
        System.out.println("e的9次方是:" + Math.expm1(8));
        System.out.println("8的自然对数是:" + Math.log(8));
        System.out.println("8的10为底的对数是:" + Math.log10(8));
        System.out.println("9的自然对数是:" + Math.log1p(8));
        System.out.println("2的3次方是:" + Math.pow(2, 3));
        System.out.println("8的平方根是:" + Math.sqrt(8));
    }
}

Math – 的 角度转换弧度

/**
 * 有两种单位可以用来度量角的大小,及角度和弧度
 * 三角运算中使用弧度比较方便,
 * 在表示角的大小是使用角度比较方便
 * 本例实现角度与弧度之间的转换
 * toRadians()方法
 * Math类的toRadians()方法用于将角度转换为弧度,该方法是一个静态方法,可以通过类名直接调用
 * public static double toRadians(double angdeg)
 * angdeg 用角度表示的角
 * 返回值    角angdeg用弧度表示的值
 * toDegrees()方法
 * Math类的toDegrees()方法用于将弧度转换为角度,该方法也是一个静态方法,可以通过类名直接调用
 * public static double toDegrees(double angrad)
 * angrad 用弧度表示的角
 * 返回值    角anfrad用角度表示的值
 * **/
public class RadianTest {
    public static void main(String[] args) {
        System.out.println("30°对应的弧度是:" + Math.toRadians(30));
        System.out.println("π/6对应的角度是:" + Math.toDegrees(Math.PI / 6));
        System.out.println("45°对应的弧度是:" + Math.toRadians(45));
        System.out.println("π/4对应的角度是:" + Math.toDegrees(Math.PI / 4));
    }
}

你可能感兴趣的:(Java,java,前端,开发语言)