Contents
13.3. Math类¶
舍入方法
static double ceil(double a):返回大于或等于a最小整数。 static double floor(double a):返回小于或等于a最大整数。 static int round(float a):四舍五入方法。
最大值和最小值
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):将角度转换为弧度。
对数运算:
static double log(double a),返回a的自然对数。平方根:
static double sqrt(double a),返回a的正平方根。幂运算:
static double pow(double a, double b),返回第一个参数的第二个参数次幂的值。计算随机值:
static double random(),返回大于等于 0.0 且小于 1.0随机数。常量 圆周率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
* */