Java中Math类常用函数总结

avatar 2017年04月17日20:12:53 3 3451 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此
Java中比较常用的几个数学公式的总结:
  1. //取整,返回小于目标函数的最大整数,如下将会返回-2  
  2. Math.floor(-1.8);
  3. //取整,返回发育目标数的最小整数  
  4. Math.ceil()
  5. //四舍五入取整  
  6. Math.round()
  7. //计算平方根  
  8. Math.sqrt()
  9. //计算立方根  
  10. Math.cbrt()
  11. //返回欧拉数e的n次幂  
  12. Math.exp(3);
  13. //计算乘方,下面是计算3的2次方  
  14. Math.pow(3,2);
  15. //计算自然对数  
  16. Math.log();
  17. //计算绝对值  
  18. Math.abs();
  19. //计算最大值  
  20. Math.max(2.3,4.5);
  21. //计算最小值  
  22. Math.min(,);
  23. //返回一个伪随机数,该数大于等于0.0并且小于1.0  
  24. Math.random

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

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

e.g
  1. import java.util.Arrays;
  2. import java.util.Random;
  3. public class RandomTest {
  4.     /** 
  5.      * @param args 
  6.      */
  7.     public static void main(String[] args) {
  8.         // TODO Auto-generated method stub  
  9.         Random rand = new Random();
  10.         System.out.println("随机布尔数" + rand.nextBoolean());
  11.         byte[] buffer = new byte[16];
  12.         rand.nextBytes(buffer);
  13.         //生产一个含有16个数组元素的随机数数组  
  14.         System.out.println(Arrays.toString(buffer));
  15.         System.out.println("rand.nextDouble()" + rand.nextDouble());
  16.         System.out.println("Float浮点数" + rand.nextFloat());
  17.         System.out.println("rand.nextGaussian" + rand.nextGaussian());
  18.         System.out.println("" + rand.nextInt());
  19.         //生产一个0~32之间的随机整数  
  20.         System.out.println("rand.nextInt(32)" + rand.nextInt(32));
  21.         System.out.println("rand.nextLong" + rand.nextLong());
  22.     }
  23. }

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

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

在java7中引入了ThreadLocalRandom

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

首先使用current()产生随机序列之后使用nextCXxx()来产生想要的伪随机序列:
  1. ThreadLocalRandom trand= ThreadLocalRandom.current();
  2. int val = rand.nextInt(4,64);

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



本文地址:http://liuyanzhao.com/3150.html

转载请注明
  • 微信
  • 交流学习,资料分享
  • weinxin
  • 个人淘宝
  • 店铺名:言曌博客咨询部

  • (部分商品未及时上架淘宝)
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:2   待审核评论数:0
  1. avatar 钱钱钱钱钱

    感觉挺复杂的说。

  2. avatar 战略

    总结得非常不错