JAVA Math类与Random类

本文详细介绍了Java中的Math类和Random类。Math类提供了多种数学运算方法,如三角函数、指数函数、取绝对值等,并提供了自然底数E和圆周率π的常量。Random类则用于生成随机数,包括不同类型的随机数生成方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Math类与Random类

Math类

Math类中包含了一些数学计算的方法。
Math类的构造方法被私有化,不能实例化对象。

成员变量

Math类有两个静态成员变量用来表示自然底数和圆周率。
public static final double E : 自然底数
public static final double PI: 圆周率
可以使用Math.PI和Math.E来调用。

成员方法

public static double cos(double a) 返回角的三角余弦。
public static double sin(double a) 返回角的三角正弦。
public static double tan(double a) 返回角的三角正切 。
public static int abs ( int a)取绝对值
public static double ceil ( double a)向上取整
public static double floor ( double a)向下取整
public static int max ( int a, int b)获取最大值
public static int min ( int a, int b)获取最小值
public static double pow ( double a, double b)获取a的b次幂
public static double random () 获取随机数 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
public static int round ( float a)四舍五入
public static double sqrt ( double a)获取正平方根

public class MathDemo {
    public static void main(String[] args) {
        //Math类的成员方法使用
        System.out.println(Math.PI);
        System.out.println(Math.E);
        System.out.println(Math.cos(Math.PI/2));//0
        System.out.println(Math.sin(Math.PI/2));//1
        System.out.println(Math.ceil(3.14));//4
        System.out.println(Math.floor(3.14));//3
        System.out.println(Math.min(3.14,3)//3
        System.out.println(Math.max(100, Math.max(10, 20)));//100
        System.out.println(Math.pow(2,3));//2的立方
         int num= (int) (Math.random()*100+1);//产生1-100的随机数
        System.out.println(Math.round(3.56));//4.0
        System.out.println(Math.sqrt(4));//2
        //求立方根
        System.out.println(Math.pow(9.0, 1.0 / 3.0));//3
        System.out.println(0.9999999999999999999999999==1);//true
    }
}

Random类

Random类用于产生随机数,如果使用相同的种子来产生随机数,则每次调用产生的随机数序列都相同。

构造方法

Random() 创建一个新的随机数生成器。
Random(long seed) 使用单个 long 种子创建一个新的随机数生成器。

成员方法

public double nextDouble() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。
public float nextFloat() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。
public int nextInt() 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
public int nextInt(int n) 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
public long nextLong() 返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。

public class RandomDemo {
    public static void main(String[] args) {
        Random random = new Random();
        int i1 = random.nextInt();//生成随机的整数再int范围
        int i2 = random.nextInt(100);//生成的随机数 0--99
        for (int i1 = 0; i1 < 100; i1++) {
           int i = random.nextInt(100);//生成随机的整数再int范围
            System.out.println(i);
            System.out.println(i);
        }
    }
}

而如果使用种子创建随机数生成器,则每次调用出现的随机数序列一致。

public class RandomDemo2 {
    public static void main(String[] args) {
        //使用单个 long 种子创建一个新的随机数生成器。
        Random random = new Random(100L);
        for (int i = 0; i < 10; i++) {//每次运行都是5 0 4 8 1 6 6 8 3 3
            int i1 = random.nextInt(10);
            System.out.println(i1);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值