Math是一个内置对象,具有数学常数和函数的属性和方法,不是一个函数对象, 数学是一个内置对象,具有数学常数和函数的属性和方法,不是一个函数对象Math适用于Number类型,但不适用于BigInt,与许多其他全局变量不同,Math不是构 数学适用于数类型,但不适用于BigInt,与许多其他全局变量不同,Math不是构造函数,所以不要单独创建,所有属性和方法Math都是静态的。 造函数,所以不要单独创建,所有属性和方法Math都是静态的.
Math对象用于执行数字任务,它里面封装了数字运算相关的属性和方法 数学对象用于执行数字任务,它里面封装了数字运算相关的属性和方法,今天就来谈谈有哪些常规用法:
一,取随机数:Math.random();
其随机数的大小为[0.1);
这个函数可以有很多的变化,
例:可以表示[0,10]之间的随机数:Math.random()*10
表示[0,10]之间的随机整数:Math.ceil(Math.random()*10);
二,取最小值:Math.min(a,b);
a和b的数据类型可以为byte,short,int,long,如过它们的数据类型不同的话,较小的数据类型就会自动转换成较大的数据类型。
例:Math.min( 1,2,3)=1 Math.min(2,3.2)=2.0
三,取最大值:Math.max(a,b);
a和b的数据类型可以为byte,short,int,long,如过它们的数据类型不同的话,较小的数据类型就会自动转换成较大的数据类型。
例:Math.max(2,3)=3; Math.max(4,3.2)=4.0;
四、取次幂:Math.pow(a,b);
其中a和b可以为byte,short,int,long类型都可以,正负值也都行,其在数学中表示为a^b;
例:Math.pow(2,3)=8.0;
五、取绝对值:Math.abs();
其可以用与byte,short,int,long类型都可以,适用范围较广泛。
例;Math,abs(-1)=1;
特殊:Math.abs(Integer.MIN_VALUE)=-2147483648;
原因:从函数的注释中可以看出其对Integer.MIN_VALUE取绝对值的值已超过int类型的最大值,将会原数据返回。
解决办法:将其转成long类型的数据在取绝对值就行。
六、取整:Math.ceil(),Math.flloor(),Math.round();
1、Math.ceil():向上取整,也就是往较大的数取整;
例:Math.ceil(11.2)=12; Math.ceil(-11.2)=-11;
2、Math.floor():向下取整,也就是往较小的数取整;
例:Math.flloor(11.2)=11; Math.flloor(-11.2)=-12;
3、Math.round():四舍五入取整;
这个四舍五入不同于数学中的四舍五入,这里的是相当于先加0.5然后再想下取整而得到的结果。
例:Math.round(11.2)=11; Math.round(11.5)=12;
Math.round(-11.5)=-11 Math.round(-11.6)=-12;
Math.round(-11.2)=-11;