天天看点

Java 数学运算

在 Java 语言中提供了一个执行数学基本运算的 Math 类,该类包括常用的数学运算方法,如三角函数方法、指数函数方法、对数函数方法、平方根函数方法等一些常用数学函数,初次之外还提供了一些常用的数学常量,如PI、E等。

文章目录

      • Math 类
      • 常用数学运算方法

Math 类

在 Math 类中提供了众多数学函数方法,主要包括三角函数方法、指数函数方法、取整函数方法、取最大值、最小值和平均值函数方法,这些方法都被定义成 static 形式,方便调用。

常用数学运算方法

在 Math 类中的常用数学运算方法较多,大致可以将其分为 4 大类别。分别为 三角函数方法、指数函数方法、取整函数方法以及取最大值、最小值好绝对值函数方法。

  1. 三角函数方法

    在 Math 类中包含的三角函数方法如下:

public static double sin(double a); 返回角的三角正弦
public static double cos(double a); 返回角的三角余弦
public static double tan(double a); 返回角的三角正切
public static double asin(double a); 返回一个值的反正弦
public static double acos(double a); 返回一个值的反余弦
public static double atan(double a); 返回一个值的反正切
public static double toRadians(double angdeg); 将角度转换为弧度
public static double toDegrees(double angrad); 将弧度转换为角度
           

特别注意的是:角度和弧度转换通常是不精确地

public class TrigonometricFunction{
    public static void main(String args) {
        //取 90 °的正弦
        System.out.println("90度的正弦值:"+Math.sin(Math.PI/2));
        //取 0 ° 的余弦
        System.out.println("0度的余弦值:"+Math.cos(0));
        //取 60 ° 的 正切
        System.out.println("60 度的正切值:" + Math.tan(Math.PI / 3));
        
    }

}
           
  1. 指数函数方法

Math 类中与指数相关的函数方法如下:

public static double exp(double a); //用于获取 e 的 a 次方
public static double log(double a); //用于取自然对数
public static double log10(double a ); //用于取底数为10的对数
public static double sqrt(double a );//用于取 a 的平方根,其中 a 不能为负值
public static double cbrt(double a );   //用于取 a 的立方根
public static double pow(double a, double b);//用于取  a 的 b 次方
           
public class ExponentFunction{
    public static void main(String[] args) {
        System.out.println("e 的平方值:" + Math.exp(2));
        //取以 e 为底 2 的对数
        System.out.println("以e为底2的对数:"+ Math.log(2));
        //取以10 为底 2 的对数
        System.out.println("以10为底 2 的对数值:"+Math.log10(2));
        System.out.println("4 的平方根值:" + Math.sqrt(4));
        System.out.println("8 的立方根值:"+Math.cbrt(8));
        System.out.println("2 的 2 次方值:" + Math.pow(2,2));
    }

}
           
  1. 取整函数方法

    在具体的问题中,取整操作使用也很普遍。

public static double ceil(double a);//返回大于等于参数的最小整数 
public static double floor(double a);   //返回小于等于参数的最大整数
public static double rint(double a);//返回与参数最接近的整数,如果两个同为整数且童颜接近,则结果取整数、
public static int round(float a);//将参数加上0.5后返回与参数最近的整数
public static long round(double a );//将参数加上0.5之后返回与参数最近的整数,然后强制转换为长整型

           

由于数 1.0和 数 2.0 距离数 1.5 都是0.5个单位长度,因此返回偶数 2.0

public class intFunction{
    //返回第一个大于等于参数的整数
    System.out.println("使用 ceil() 方法取整:"+Math.ceil(5.2));
    //返回第一个小于等于参数的整数
    System.out.println("使用 floor 方法取整:"+ Math.floor(2.5));
    //返回与参数最接近的整数
    System.out.println("使用 rint() 方法取整:"+Math.rint(2.7));
    //返回与参数最接近的整数
    System.out.println("使用 rint 方法取整:"+ Math.rint(2.5));
    //将参数加上 0.5 之后返回最接近的整数
    System.out.println(使用 round方法取整:"+Math.round(3.4f));
    //将参数加上 0.5 之后返回最接近的整数,并将结果强制转换为长整型
    System.out.println("使用 round 方法取整:"+Math.round(2.5));

}
           
  1. 取最大值、最小值、绝对值函数方法

在程序中最常用的方法就是取最大值、最小值、绝对值等,在 Math 类中包括这些操作方法

public static double max(double a, double b);//取a与b之间的最大值
public static int min(int a, int b);//取a与b之间的最小值,参数是整型
public static long min(long a, long b);//取a与b之间的最小值,参数是长整型
public static float min(float a, float b);//取a与b之间的最小值,参数是浮点型
public static double min(duble a, double b);//取a与b之间的最小值,参数是双精度型
public static int abs(int a);//返回整形参数的绝对值
public static long abs(long a);//返回长整型参数的绝对值
public static float abs(float a);//返回浮点型参数的绝对值
public static double abs(double a);//返回双精度型参数的绝对值
           
public class AnyFunction{
    public static void main(String[] args) {
        System.out.println("4 和 8 较大者:"+ Math.max(4,8));
        //取两个参数的最小值
        System.out.println("4.4 和 4 较小者:"+Math.min(4.4, 4));
        //取参数的绝对值
        System.out.println("-7 的绝对值:"+ Math.abs(-7));
    
    }
}