Contents

13.3. Math类

  1. 舍入方法

    static double ceil(double a):返回大于或等于a最小整数。
    static double floor(double a):返回小于或等于a最大整数。
    static int round(float a):四舍五入方法。
    
  2. 最大值和最小值

    static int min(int a, int b):取两个int整数中较小的一个整数。
    
    static int min(long a, long b):取两个long整数中较小的一个整数。
    
    static int min(float a, float b):取两个float浮点数中较小的一个浮点数。
    
    static int min(double a, double b):取两个double浮点数中较小的一个浮点数。
    
    max方法取两个数中较大的一个数,max方法与min方法参数类似也有4个版本,这里不再赘述。
    

    绝对值

    static int abs(int a):取int整数a的绝对值。
    static long abs(long a):取long整数a的绝对值。
    static float abs(float a):取float浮点数a的绝对值。
    static double abs(double a):取double浮点数a的绝对值。
    

    三角函数:

    static double sin(double a):返回角的三角正弦。
    static double cos(double a):返回角的三角余弦。
    static double tan(double a):返回角的三角正切。
    static double asin(double a):返回一个值的反正弦。
    static double acos(double a):返回一个值的反余弦。
    static double atan(double a):返回一个值的反正切。
    static double toDegrees(double angrad):将弧度转换为角度。
    static double toRadians(double angdeg):将角度转换为弧度。
    
  3. 对数运算:static double log(double a),返回a的自然对数。

  4. 平方根:static double sqrt(double a),返回a的正平方根。

  5. 幂运算:static double pow(double a, double b),返回第一个参数的第二个参数次幂的值。

  6. 计算随机值:static double random(),返回大于等于 0.0 且小于 1.0随机数。

  7. 常量 圆周率PI 自然对数的底数E。

代码示例

package com.a51work6;

public class HelloWorld {

 public static void main(String[] args) {
  // TODO 自动生成的方法存根
  double[] nums = { 1.4, 1.5, 1.6 };

//  测试最大值和最小值
  System.out.printf("min(%.1f,%.1f) = %.1f\n", nums[1], nums[2], Math.min(nums[1], nums[2]));
  System.out.printf("max(%.1f,%.1f) = %.1f\n", nums[1], nums[2], Math.max(nums[1], nums[2]));
  System.out.println();

  // 测试三角函数
  // 1π弧度 = 180°
  System.out.printf("toDegrees(0.5π) = %f\n", Math.toDegrees(0.5 * Math.PI));
  System.out.printf("toRadians(180/π) = %f\n", Math.toRadians(180 / Math.PI));
  System.out.println();

  // 测试平方根
  System.out.printf("sqrt(%.1f) = %f\n", nums[2], Math.sqrt(nums[2]));
  System.out.println();

  // 测试幂运算
  System.out.printf("pow(8, 3) = %f\n", Math.pow(8, 3));
  System.out.println();

  // 测试计算随机值
  System.out.printf("0.0~1.0之间的随机数 = %f\n", Math.random());
  System.out.println();

  // 测试舍入
  for (double num : nums) {
   display(num);
  }
  }

 // 测试舍入方法
 public static void display(double n) {
  System.out.printf("ceil(%.1f) = %.1f\n", n, Math.ceil(n));
  System.out.printf("floor(%.1f) = %.1f\n", n, Math.floor(n));
  System.out.printf("round(%.1f) = %d\n", n, Math.round(n));
  System.out.println();
 }

}


/*
min(1.5,1.6) = 1.5
max(1.5,1.6) = 1.6

toDegrees(0.5π) = 90.000000
toRadians(180/π) = 1.000000

sqrt(1.6) = 1.264911

pow(8, 3) = 512.000000

0.0~1.0之间的随机数 = 0.541833

ceil(1.4) = 2.0
floor(1.4) = 1.0
round(1.4) = 1

ceil(1.5) = 2.0
floor(1.5) = 1.0
round(1.5) = 2

ceil(1.6) = 2.0
floor(1.6) = 1.0
round(1.6) = 2
 * */