Java中math类的常用方法
来源:Java中math类详解 2018-01-16java.lang.Math类拥有基本的数学操作,如指数、对数、平方根和三角函数等等,使用它可以避免程序员自行研发数学方面的代码。此外,java还有一个java.math包,它提供用于执行任意精度整数(BigInteger)算法和任意精度小数(BigDecimal)算法的类。
本文为大家展示Math类的常用方法。Math类属于包java.lang,因此使用它时无需用import导入。Math类封装的属性和方法大致如下:
public class Main {
public static void main(String[] args) {
// 两个静态成员变量
System.out.println("自然对数的底数E是:" + Math.E); // 数学中的E(即自然对数的底数)。
System.out.println("圆周率是:" + Math.PI);// 数学中的 圆周率。
// 函数罗列于下
/*
* 1.求绝对值abs()
*/
System.out.println("绝对值是:" + Math.abs(-5.4));// 输出5.4
/*
* 2.求最值
* max(a,b)求最大值
* min(a,b)求最小值
*/
System.out.println("最大值是:" + Math.max(1, 2)); // 输出2
System.out.println("最小值是:" + Math.min(1.9, -0.2));// 输出-0.2
/*
* 3.求随机数 random()返回[0.0,1.0)之间的double值。可进一步通过*x控制取值界限,见示例。
*/
// 输出[0,100)之间的随机整数
System.out.println("1~100间的随机数:" + (int) (Math.random() * 100));
//////////// Exponential:幂、开方、对数等运算
/*
* 4.幂运算
* pow(x,y) 返回x^y的值
* exp(x) 返回e^x的值
* expm1(x) 返回e^x - 1的值
* 所有数据类型都是double型
*/
System.out.println("2的平方是:" + Math.pow(2.0, 2.0));// 输出8.0
System.out.println("2的立方是:" + Math.pow(2.0, 3.0));// 输出8.0
System.out.println("e的5次方是:" + Math.exp(5));// 输出E^5的值
System.out.println("e的5次方减1是:" + Math.expm1(5));// 输出E^5 -1 的值
/*
* 5.开方运算
* sqrt(x)开平方,cbrt(x)开立方
* hypot(x,y):等于sqrt(x*x+y*y)。在求两点间距离时有用sqrt((x1-x2)^2+(y1-y2)^2)
*/
System.out.println("4的平方根 开2次方:" + Math.sqrt(4.0));// 输出2.0
System.out.println("8的立方根 开3次方:" + Math.cbrt(8.0));// 输出2.0
System.out.println("平方之和开2次方:" + Math.hypot(3.0, 4.0));// 输出5.0
/*
* 6.对数
* log(a) a的自然对数(底数是e)
* log1p(a) a+1的自然对数
* log10(a) a的底数为10的对数
* 所有数据类型都是double型数据并返回double型数据
*/
System.out.println("E的自然对数:" + Math.log(Math.E));// 输出1.0
System.out.println("10的以10为底的自然对数:" + Math.log10(10));// 输出1.0
System.out.println("加1后的自然对数:" + Math.log1p(Math.E - 1.0));// 输出1.0
/*
* 7.三角函数与反三角函数
* sin()求正弦,cos()求余弦,tan()求正切:参数都是以弧度表示的角
* asin()求反正弦,acos()求反余弦,atan()求反正切
* atan2(y,x)求向量(x,y)与x轴夹角
*/
System.out.println("30° 的正弦值:" + Math.sin(Math.PI / 6));
System.out.println("30° 的余弦值:" + Math.cos(Math.PI / 6));
System.out.println("30° 的正切值:" + Math.tan(Math.PI / 6));
System.out.println("弧度:" + Math.acos(1.0));// 输出弧度0...
System.out.println("弧度:" + Math.acos(-1.0));// 输出圆周率3.14...
System.out.println("夹角:" + Math.atan2(1.0, 1.0));// 输出 π/4 的小数值
/*
* 8.角度和弧度的转换
* toDegrees(a) 弧度转换成角度
* toRadians(a) 角度转换成弧度
*/
System.out.println("30° 对应的的弧度是:" + Math.toRadians(30));
System.out.println("45° 对应的的弧度是:" + Math.toRadians(45));
System.out.println("π/6 对应的的角度是:" + Math.toDegrees(Math.PI / 6));
System.out.println("π/4对应的的角度是:" + Math.toDegrees(Math.PI / 4));
System.out.println("PI 对应的的角度是:" + Math.toDegrees(Math.PI));// 输出180.0
System.out.println("180度 对应的的弧度是:" + Math.toRadians(180));// 输出 π的值
/*
* 9.取整
*/
// ceil(a):向上取整,返回大于a的第一个整数所对应的浮点数(值是整的,类型是浮点型)
// 可以通过强制转换将返回值强转成整型
System.out.println("向上取整:" + Math.ceil(1.3443));// 输出2.0
System.out.println("向上取整后再截断:" + (int) Math.ceil(1.3443));// 输出2
// floor(a):向下取整,返回小于a的第一个整数所对应的浮点数(值是整的,类型是浮点型)
System.out.println("向下取整:" + Math.floor(1.3443));// 输出1.0
// rint(a) 返回最接近a的整数的double值。如果有两个整数同样接近,就返回偶数的那个
System.out.println("最接近:" + Math.rint(1.5));// 输出2.0 。1与2同样接近,选择2
System.out.println("最接近:" + Math.rint(2.5));// 输出2.0 。2与3同样接近,选择2
System.out.println("最接近:" + Math.rint(1.8));// 输出2.0
// round(a) 四舍五入.返回四舍五入后的整数值。
System.out.println("四舍五入:" + Math.round(1.5));// 输出2
System.out.println("四舍五入:" + Math.round(2.5));// 输出3
System.out.println("四舍五入:" + Math.round(1.8));// 输出2
/*
* 10.其他
*/
// copySign(x,y) 返回 用y的符号取代x的符号后新的x值
System.out.println("符号拷贝:" + Math.copySign(-1.0, 2.0));// 输出1.0
System.out.println("符号拷贝:" + Math.copySign(2.0, -1.0));// 输出-2.0
// nextAfter(a,b) 返回(a,b)或(b,a)间与a相邻的浮点数 b可以比a小。b是控制条件
System.out.println("与a相邻的浮点数:" + Math.nextAfter(1.2, 2.7));//输出1.2000000000000002
System.out.println("与a相邻的浮点数:" + Math.nextAfter(1.2, -1));//输出1.1999999999999997
// nextUp(a) 返回比a大一点点的浮点数
System.out.println("大一点点的浮点数" + Math.nextUp(1.2));// 输出1.2000000000000002
// nextDown(a) 返回比a小一点点的浮点数
System.out.println("小一点点的浮点数" + Math.nextDown(1.2));// 输出1.1999999999999997
}
}
最近,何猷君人气暴涨,人人都以为富家子弟只会吃喝玩乐,读书都不努力。没想到澳门赌王的小儿子何猷君在《...
叮叮当~叮叮当~,铃儿响叮当~一年一度的圣诞节降临啦!这个圣诞小编只想和你们一起......搞事情送礼物。 夜...
严寒一月,又是一年毕业时,就业已成为莘莘学子必须面对的事情。为解决我司17091javaEE就业问题,1月22日晚...
Copyright ©2004-2024 华清远见 版权所有
京ICP备16055225号,京公海网安备11010802025203号