Math类位于java.lang.Math
特点: 1.java.lang包不需要引入,系统会自动调用
2.Math方法都是静态方法 ----可以用Math.的方法直接调用
Math类常用API基础
一.常用常量
Math.PI;//返回值为double
Math.E;//返回值为double
二.三角函数
//60度的正弦 返回double
System.out.println(Math.sin(Math.PI/3));
//60度的余弦 返回double
System.out.println(Math.cos(Math.PI/3));
//60度的正切 返回double
System.out.println(Math.tan(Math.PI/3));
//-1的反正弦函数 返回double
System.out.println(Math.asin(-1));
//-1的反余弦函数 返回double
System.out.println(Math.acos(-1));
//-1的反正切函数 返回double
System.out.println(Math.atan(-1));
//0的双曲正弦 返回double
System.out.println(Math.sinh(0));
//0的双曲余弦 返回double
System.out.println(Math.cosh(0));
//0的双曲正切 返回double
System.out.println(Math.tanh(0));
三.指数函数
//e的n方根 返回double
System.out.println(Math.exp(2)); //e的平方
System.out.println(Math.exp(3)); //e的三次方
//返回一个a的b次方 返回double
System.out.println(Math.pow(3, 4)); //81.0
//返回a的平方根 返回double
System.out.println(Math.sqrt(4)); //2.0
//返回a的立方根 返回double
System.out.println(Math.cbrt(8)); //2.0
四.对数函数
//返回以e为底的 double对数值值。 返回double
System.out.println(Math.log(Math.E*Math.E)); //2.0
//返回一个以10为底的double对数值。 返回double
System.out.println(Math.log10(100)); //2.0
五.弧度制与角度值的转化
//将以度为单位转换为弧度制的近似等效角度(不准确)返回double
System.out.println(Math.toRadians(90.0));
//将弧度制转换为以度为单位的近似等效角度(不准确) 返回double
System.out.println(Math.toDegrees(Math.PI/3));
六.绝对值函数
//-4的绝对值,返回值与输入值的类型相同
System.out.println(Math.abs(-4));
七.比较函数
//返回两个值中的较大值。 返回值与输入值的类型相同
System.out.println(Math.max(50, 10.84)); //返回50.0 double
//返回两个值中的较小值。 返回值与输入值的类型相同
System.out.println(Math.max(4.55, 5)); //返回5.0 double
/* 返回大于或等于参数的最小的double值。 特殊情况:
如果参数为NaN或无穷大或正零或负零,则结果与参数相同。
如果参数值小于零但大于-1.0,则结果为负零 -0.0。 */
System.out.println(Math.ceil(-4.2)); //-4.0
System.out.println(Math.ceil(-0.4)); //-0.0
System.out.println(Math.ceil(+0.0)); //0.0
System.out.println(Math.ceil(-0.0)); //-0.0
/* 返回小于或等于参数的最大double值
如果参数为NaN或无穷大或正零或负零,则结果与参数相同*/
System.out.println(Math.floor(5.8));//5.0
System.out.println(Math.floor(-4));//-4.0
System.out.println(Math.floor(0.0));//0.0
System.out.println(Math.floor(-0.0));//-0.0
八.两个数相加
//返回其参数的总和,如果结果溢出int(long),则抛出 int(long) 。
System.out.println(Math.addExact(111111, 55888888));
九.四舍五入函数
Math.round(x)返回值为long!
本质Math.round(x) = (long) Math.floor(x + 0.5F)
System.out.println(Math.round(15.5)); //16
System.out.println(Math.round(-15.5)); //-15
System.out.println(Math.round(-15.51)); //-16
System.out.println(Math.floor(-15.5 + 0.5F)); //-15 >= -15
System.out.println(Math.floor(-15.51 + 0.5F)); //-15.01 >= -16
double x =9.9984;
int xx =(int) round(x);
// int xx = round(x); 报错 因为Math.round()返回值为long型