基于Java中Math类的常用函数总结

网友投稿 183 2023-07-06


基于Java中Math类的常用函数总结

java中比较常用的几个数学公式的总结:

//取整,返回小于目标函数的最大整数,如下将会返回-2

Math.floor(-1.8);

//取整,返回发育目标数的最小整数

Math.ceil()

//四舍五入取整

Math.round()

//计算平方根

Math.sqrt()

//计算立方根

Math.cbrt()

//返回欧拉数e的n次幂

Math.exp(3);

//计算乘方,下面是计算3的2次方

Math.pow(3,2);

//计算自然对数

Math.log();

//计算绝对值

Math.abs();

//计算最大值

Math.max(2.3,4.5);

//计算最小值

Math.min(,);

//返回一个伪随机数,该数大于等于0.0并且小于1.0

Math.random

Random类专门用于生成一个伪随机数,它有两个构造器:一个构造器使用默认的种子(以当前时间作为种子),另一个构造器需要程序员显示的传入一个long型整数的种子。

Random比Math的random()方法提供了更多的方式来生成各种伪随机数。

e.g

import java.util.Arrays;

import java.util.Random;

public class RandomTest {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Random rand = new Random();

System.out.prinhttp://tln("随机布尔数" + rand.nextBoolean());

byte[] buffer = new byte[16];

rand.nextBytes(buffer);

//生产一个含有16个数组元素的随机数数组

System.out.prinXnbxibjGtln(Arrays.toString(buffer));

System.out.println("rand.nextDouble()" + rand.nextDouble());

System.out.println("Float浮点数" + rand.nextFloat());

System.out.println("rand.nextGaussian" + rand.nextGaussian());

System.out.println("" + rand.nextInt());

//生产一个0~32之间的随机整数

System.out.println("rand.nextInt(32)" + rand.nextInt(32));

System.out.println("rand.nextLong" + rand.nextLong());

}

}

为了避免两个Random对象产生相同的数字序列,通常推荐使用当前时间作为Random对象的种子,代码如下:

Random  rand = new Random(System.currentTimeMillis());

在java7中引入了ThreadLocalRandom

在多线程的情况下使用ThreadLocalRandom的方式与使用Random基本类似,如下程序片段示范了ThreadLocalRandom的用法:

首先使用current()产生随机序列之后使用nextCXxx()来产生想要的伪随机序列:

ThreadLocalRandom trand= ThreadLocalRandom.current();

int val = rand.nextInt(4,64);

产生4~64之间的伪随机数


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:BootStrap入门教程(一)之可视化布局
下一篇:JavaWeb Session 会话管理实例详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~