Math
Math是一个帮助我们用于进行数学计算的工具类。私有化的构造方法,所有方法都是静态的。
Math类的常用方法:
public static int abs(int a) 获取参数绝对值
public static double cell(double a) 向上取整
public static double floor(double a) 向下取整
public static int round(float a) 四舍五入
public static int max(ina a,int b) 获取两个int值的最大值
public static double pow(double a,double b) 返回a的b次幂的值
public static double sqrt(double a,double b) 返回a的平方根
public static double cbrt(double a,double b) 返回a的立方根
public static double random() 返回值为double的随机值,范围[0.0,1.0)
直接上代码:
package com.itheima.math;
public class MathDemo01 {
public static void main(String[] args) {
//abs 获取参数绝对值
System.out.println(Math.abs(-88));
System.out.println(Math.abs(99));
/*事实上,abs存在一个bug,以为以int类型为例
取值范围:-2147483648~2147483647如果没有正数与负数对应
那么传递负数结果有误-2147483648没有正数与之对应
所以abs结果产生bug*/
System.out.println(Math.abs(-2147483648));
System.out.println("==========================");
//ceil 向上取整(往数轴正方向进一)
System.out.println(Math.ceil(11.22));
System.out.println(Math.ceil(12.66));
System.out.println(Math.ceil(-11.22));
System.out.println(Math.ceil(-12.66));
System.out.println("==========================");
//floor 向下取整(往数轴负方向进一)
System.out.println(Math.floor(11.22));
System.out.println(Math.floor(12.66));
System.out.println(Math.floor(-11.22));
System.out.println(Math.floor(-12.66));
System.out.println("==========================");
//round 四舍五入
System.out.println(Math.round(9.12));
System.out.println(Math.round(9.72));
System.out.println("==========================");
//max 获取两个整数的最大值
System.out.println(Math.max(20, 30));
System.out.println("==========================");
//min 获取两个整数的最小值
System.out.println(Math.min(20, 30));
System.out.println("==========================");
//pow 返回a的b次幂的值
System.out.println(Math.pow(2, 3));
System.out.println(Math.pow(2, 4));
System.out.println(Math.pow(4, 0.5));//第二个参数大于0小于1时,会变成开根号
System.out.println("==========================");
//第二个参数一般使用大于1的正整数
//sqrt 开a的平方根
System.out.println(Math.sqrt(4));
System.out.println("==========================");
//cbrt 开a的立方根
System.out.println(Math.cbrt(27));
System.out.println("==========================");
//random 获取一个随机数
for (int i=0;i<10;i++){
System.out.print(Math.random()+"、");
}
System.out.println("==========================");
for (int i=0;i<10;i++){
System.out.print((Math.floor(Math.random() * 10)+1) + "、");
}
}
}
运行结果:
#补充: abs存在一个bug,以为以int类型为例,取值范围:-2147483648~2147483647如果没有正数与负数对应,那么传递负数结果有误-2147483648没有正数与之对应,所以abs结果产生bug。pow第二个参数为大于0小于1的小数时,会变成开根号。