1.Math类简介
1.Math类中提供了大量用于数学运算的相关方法。
2.Math类是使用final修饰的终结类,不能产生子类
3.Math类中的方法都是static修饰的静态方法,可以通过类名.方法名直接调用
2.Math常用方法
1.abs(int):求绝对值(int,long,float,double做为参数)
2.ceil(double):求大于等于给定值的最小整数值,以double类型返回
3.floor(double):求小于等于给定值的最大整数值,以double类型返回
4.max(int,int):求两个数字中最大的值(int long float double做为参数)
5.min(int,int):求两个数字中最小的值(int long float double做为参数)
6.random():获取一个0到1之间的随机小数
7.round(float|double):返回int或long,采用四舍五入法,获取最接近的整数值
8.sqrt(double):获取平方根,如果传值为负数,返回NaN
9.pow(double,double):求一个数的N次方
10.sin(double)/cos(double)/tan(double):获取给定弧度值的三角函数值
看看案例
public class Test {
public static void main(String[] args) {
System.out.println(Math.abs(5));
double ceil = Math.ceil(-3.5);
System.out.println(ceil);
double floor = Math.floor(-3.5);
System.out.println("floor = " + floor);
int max = Math.max(12, 5);
System.out.println("max = " + max);
int min = Math.min(12, 5);
System.out.println("min = " + min);
double d=3.5415;
long round = Math.round(d);
System.out.println(round);
int x=-2;
double sqrt = Math.sqrt(x);
System.out.println(sqrt);
//Not a Number
double pow = Math.pow(5, 3);
System.out.println("pow = " + pow);
}
}
运行结果
3.Random类
3.1Random简介
ava.util下有一个Random类,根据随机算法的起源数字(种子)进行一些迭代变化,来产生随机数。
虽然Random类产生的数字是随机的,但在相同种子数下的相同次数产生的随机数是相同的(伪随机数)
3.2Random构造方法
Random():以系统自身的时间为种子类来构造Random对象
Random(long):可以自己来选定具体的种子数来构造Random对象
3.3Random常用方法
nextInt():获取int类型的随机数
nextInt(int):获取0(包含)到给定值(不包含)之间的随机数
nextlong():获取long类型的随机数
nextfloat():获取一个随机单精度浮点数0到1之间
nextDouble():获取一个随机双精度浮点数 0到1之间
nextBoolean(): 返回一个随机boolean类型的值,true或false,概率相同
案例
public class Test {
public static void main(String[] args) {
Random random=new Random();
int i=random.nextInt();
System.out.println(i);
//伪随机数验证
Random random1=new Random(100);
Random random2=new Random(100);
int num=random.nextInt();
int num1=random1.nextInt();
System.out.println("num = " + num);
System.out.println("num1 = " + num1);
Random random3=new Random();
int i1=random.nextInt(2);//获取一个0(包含)到2(不包含)之间的数字
System.out.println(i);
long l = random.nextLong();
System.out.println("l = " + l);
float v = random.nextFloat();
double v1 = random.nextDouble();
float v2 = random.nextFloat();
System.out.println("v = " + v);
double v3 = random.nextGaussian();
boolean b = random.nextBoolean();
System.out.println(b);
}
}
运行结果