下面是Math类的常见使用:
public static int abs(int a) 获取参数绝对值
public static double ceil(double a) 向上取整 英文中的意思:天花板
public static double floor(double a) 向下取整 英文中的意思:地板
public static int round(float a) 四舍五入
public static int max(int a,int b) 获取两个int值中的较大值
public static double pow(double a,double b) 返回a的b次幂的值
public static double random() 返回值为double的随机值,范围[0.0,1.0)
public class MathDemo {
public static void main(String[] args) {
//abs 获取绝对值
System.out.println(Math.abs(88));
System.out.println(Math.abs(-88));
//bug:
//以int类型为例,取值范围: -2147483648~ 2147483647
//如果没有正数与负数对应,那么传递负数结果有误
//-2147483648 没有正数与之对应,所以abs结果产生bug
//system.out.println(Math.abs(-2147483647));//2147483647
//System.out.println(Math.absExact(-2147483648));//出错
//向前进一位(向x轴的正方向取值)
System.out.println(Math.ceil(12.34));
System.out.println(Math.ceil(12.54));
System.out.println(Math.ceil(-12.34));
System.out.println(Math.ceil(-12.54));
//向后舍(向x轴的负方向取值)
System.out.println(Math.floor(12.34));
System.out.println(Math.floor(12.54));
System.out.println(Math.floor(-12.34));
System.out.println(Math.floor(-12.54));
/*
ceil的结果:
13.0
13.0
-12.0
-12.0
floor的结果:
12.0
12.0
-13.0
-13.0
*/
//四舍五入
System.out.println(Math.round(12.34));
System.out.println(Math.round(12.54));
System.out.println(Math.round(-12.34));
System.out.println(Math.round(-12.54));
/*
结果是:
12
13
-12
-13
*/
//比较大小
System.out.println(Math.max(12.3,67));//67.0
System.out.println(Math.min(90,100));//90
//取a的b次幂
System.out.println(Math.pow(2,3));//2的3次幂 8.0
//开方
System.out.println(Math.sqrt(4));//2.0
//开三次方
System.out.println(Math.cbrt(8));//2.0
//[0,1.0)
System.out.println(Math.random());//0.3193612365091456
}
}