java Math数学工具及Random随机函数

Posted liubing2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Math数学工具及Random随机函数相关的知识,希望对你有一定的参考价值。

Math类包含用于执行基本数学运算的方法,如绝对值、对数、平方根和三角函数。它是一个final类,其中定义的都是一些常量和静
态方法。常用方法如下:
public static double sqrt(double a) //求平方根
public static double ceil(double a) //求比a大的第一个整数
public static double floor(double a) //求比a小的第一个整数
public static double pow(double a,double b) //求指数,a为底数,b为指数
puiblic static long round(double a) //四舍五入
public staic int round(float a) //四舍五入
public static double random() //产生0~1的随机数

java三种产生随机数的方法:
1.通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字
2.通过Math.random()返回一个0到1的随机double值
3.通过Random类来产生一个随机数,这是专业的Random工具类,功能强大
Random类中实现的随机算法是伪随机,即有规则的随机。有一个起源种子数(seed),相同种子的Random对象,相同次数生成
的随机数一样
构造方法:
1.public Random()
2.public Random(long seed)

常用方法
public void nextBytes(byte[] bytes)
public int nextInt()
public int nextInt(5) //[0,5)的整数,永远取不到5
public int nextBoolean() //布尔值
public int nextFloat() //0-1浮点数
public int nextDouble() //0-1 double类型浮点数

Math类包含用于执行基本数学运算的方法,如绝对值、对数、平方根和三角函数。它是一个final类,其中定义的都是一些常量和静
态方法。常用方法如下:
public static double sqrt(double a) //求平方根
public static double ceil(double a) //求比a大的第一个整数
public static double floor(double a) //求比a小的第一个整数
public static double pow(double a,double b) //求指数,a为底数,b为指数
puiblic static long round(double a) //四舍五入
public staic int round(float a) //四舍五入
public static double random() //产生0~1的随机数

java三种产生随机数的方法:
1.通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字
2.通过Math.random()返回一个0到1的随机double值
3.通过Random类来产生一个随机数,这是专业的Random工具类,功能强大
Random类中实现的随机算法是伪随机,即有规则的随机。有一个起源种子数(seed),相同种子的Random对象,相同次数生成
的随机数一样
构造方法:
1.public Random()
2.public Random(long seed)

常用方法
public void nextBytes(byte[] bytes)
public int nextInt()
public int nextInt(5) //[0,5)的整数,永远取不到5
public int nextBoolean() //布尔值
public int nextFloat() //0-1浮点数
public int nextDouble() //0-1 double类型浮点数

import java.util.Random;

public class MathRandomDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(Math.floor(10.55));   //比它小的第一个整数
        System.out.println(Math.ceil(10.55));   //比它大的第一个整数
        System.out.println(Math.pow(2,3));   //求指数2的3次方
        System.out.println(Math.round(10.6));   //四舍五入
        System.out.println(Math.sqrt(64));   //比它小的第一个整数
        System.out.println(Math.random());
        
        Random random1 = new Random();
        System.out.println(random1.nextInt());
        
        Random random2 = new Random(10);//随机数不变
        System.out.println(random2.nextInt());
        
        Random random3 = new Random(System.currentTimeMillis());//将数字设为时间的毫秒数,则在不断变化
        System.out.println(random3.nextInt());
        System.out.println(random3.nextInt(5)); //随机生成[0,5),取不到 5
        System.out.println(random3.nextBoolean());
        System.out.println(random3.nextDouble());//双精度
        System.out.println(random3.nextFloat());//单精度
        
    }

}

 













































以上是关于java Math数学工具及Random随机函数的主要内容,如果未能解决你的问题,请参考以下文章

2-1:math库与random库

Python标准库12 数学与随机数 (math包,random包)

Python标准库12 数学与随机数 (math包,random包)

Java中Math.random()与Random类生成随机数及源码分析

小白学习C++ 教程十九C++ 中的<cmath> 数学函数和 <random>随机数

Math类Random类与数组集合