- 概述
静态工厂
java.util.Math 包含用于执行基本数学运算的方法,如指数,幂次方,对数,平方根,三角函数等运算。里面的方法是静态方,不需要创建对象,直接类名调用方法。 - 基本运算的方法
static 数字型 abs(数字型 a) 返回值为 数字型绝对值。
static 数字型 ceil(数字型 a) 返回最小的(最接近负无穷大) 数字型,该值大于或等于该参数,并等于某个整数。 【天花板】
static 数字型 floor(数字型 a) 返回小于或等于参数的最大(最接近正无穷大) double值,等于数学整数。【地板砖】
static double random() 返回值为 double的正值,大于等于 0.0 ,小于 1.0 。 【随机数,顾头不顾尾】
static double pow(double a, double b) 将第一个参数的值返回到第二个参数的幂。
static 数字型 round(数字型 a) 返回最接近的参数 数字型 ,其中 数字型四舍五入为正无穷大。
- Math.random()是用于随机生成一个[0.0, 1.0) 的伪随机 double 值.生成a到b之间的数字
int num=(int)(Math.random()*(b-a+1))+a;
- 练习
public static double abs(double a); //返回double的绝对值
System.out.println(Math.abs(-5.2));//5.2
System.out.println(Math.abs(5.2));//5.2
System.out.println(Math.abs(0.0));//0.0
public static double ceil(double a); //返回大于等于参数的最小整数,往上取整
System.out.println(Math.ceil(12.99));//13.0
System.out.println(Math.ceil(12.5));//13.0
System.out.println(Math.ceil(12.2));//13.0
System.out.println(Math.ceil(-12.99));//-12.0
System.out.println(Math.ceil(-12.5));//12.0
System.out.println(Math.ceil(-12.2));//12.0
public static double floor(double a) //返回小于等于参数的最大整数。往下取整。
System.out.println(Math.floor(12.99));//12.0
System.out.println(Math.floor(12.5));//12.0
System.out.println(Math.floor(12.6));//12.0
System.out.println(Math.floor(-12.99));//13.0
System.out.println(Math.floor(-12.5));//13.0
System.out.println(Math.floor(-12.6));//13.0
public static long round(double a); //返回最接近参数的long类型值。(相当于四舍五入)
System.out.println(Math.round(5.5));//6
System.out.println(Math.round(5.4));//5
System.out.println(Math.round(5.6));//6
System.out.println(Math.round(-5.5));//-5
System.out.println(Math.round(-5.4));//-5
System.out.println(Math.round(-5.6));//-6
练习:使用math相关的api方法,计算在-10.8到5.9之间,绝对值大于6或者小于2.1的整数有多少个分别是哪些数字?
int count = 0;//计数器
// 往上取整 往下取整
for (double i = Math.ceil(-10.8); i <= Math.floor(5.9); i++) {
int abs = (int) Math.abs(i);
if (abs > 6 || abs < 2.1) {
System.out.println(abs);
count++;
}
}
System.out.println(count);