Java Math 类
Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
不需要导包:java.lang下的直接类不需要导包。
random方法:
Math.random() 随机生成[0,1)小数
公式:
[0,max) 随机整数 (int)(Math.random()max)
[0,max] 随机整数 (int)(Math.random()(max+1))
[min,max) 随机整数 (int)(Math.random()(max-min)+min)
[min,max] 随机整数 (int)(Math.random()(max-min+1)+min)
Math.round(数据) 四舍五入
Math.abs(数据); 绝对值
Math.sqrt(数据); 平方根 double类型的值
实例1:
public class Demo{
/**主方法*/
public static void main(String[] args){
double num1=(int)Math.random();
System.out.println(num1);
//----------------------------------------------------------------
//[0,5) 随机整数 最终的结果取整强转
int num2=(int)(Math.random()*5); //[0,1) *5 ->[0,5)
//----------------------------------------------------------------
//[0,5]
num2= (int)(Math.random()*(5+1));
System.out.println(num2);
//----------------------------------------------------------------
//[3,7)
num2= (int)(Math.random()*(7-3)+3); //[0,4)+3 -->[3,7)
System.out.println(num2);
//----------------------------------------------------------------
System.out.println(Math.round(3.49));//四舍五入
System.out.println(Math.abs(-33.3));//绝对值
System.out.println(Math.sqrt(2));//平方根 为double类型的值
//----------------------------------------------------------------
/*
例题:
随机生成一个小写字母,判断这个字符是否为元音 a e i o u
思路:
//1.随机产生一个字母 小写
//2.判断 if..else switch
*/
//1.随机产生一个字母 小写 [97,122]
int num=(int)(Math.random()*(122-97+1)+97);
char ch=(char)num;
//2.判断 利用if..else 或者 switch
if(ch=='a' || ch=='e' || ch=='i' || ch=='o' || ch=='u'){
System.out.println(ch+"是元音");
}else {
System.out.println(ch+"是辅音");
}
//或
switch(ch){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
System.out.println(ch+"是元音");
break;
default:
System.out.println(ch+"是辅音");
break;
}
}
}
实例2:
public class MathDemo01 {
public static void main(String[] args) {
//static double ceil(double a) 向上取整
System.out.println(Math.ceil(-3.9));
//floor(double a) 向下取整
System.out.println(Math.floor(-3.3));
//max(参数1,参数2)
//min(参数1,参数2)
long l1=123;
byte b1=101;
System.out.println(Math.max(l1,1.1));
System.out.println(Math.min(l1,1.1));
//static long round(double a) 四舍五入,只作用到小数点后一位
System.out.println(Math.round(1.59));
}
}