Math类 & Random类

Math类:它是一个工具类,它的构造器被定义成private的,因此无法创建其对象,Math类中所有方法都是类方法,可以直接通过类名来调用它们。Math还提供了两个静态属性:PI、E,它们的值分别等于3.14159.....和e


public static void main(String[] args) {
  //将弧度转换为角度
  System.out.println(Math.toDegrees(1.57));
  //将角度转换成弧度
  System.out.println(Math.toRadians(90));
  //计算反余弦
  System.out.println(Math.acos(1.2));
  //计算反正弦
  System.out.println(Math.asin(0.8));
  //取整,返回小于目标的最大整数
  System.out.println(Math .floor(1.2));
  //返回大于目标数的最小整数
  System.out.println(Math.ceil(1.2));
  //四舍五入取整
  System.out.println(Math.round(2.3));
  //计算平方根
  System.out.println(Math.sqrt(2.3));
  //计算立方根
  System.out.println(Math.cbrt(9));
  //计算绝对值
  System.out.println(Math.abs(-4));
  //返回一个伪随机数
  System.out.println(Math.random());
   }

 

 

Random类:专门用于生成一个伪随机数,它有两个构造器:一个构造器使用默认的种子,另一个构造器需要程序员显式传入一个long型整数的种子。

public static void main(String[] args) {
  Random random=new Random();
  System.out.println(random.nextBoolean());//生成布尔型的伪随机数
  byte[] buffer=new byte[16];
  random.nextBytes(buffer);//生成16个伪随机数的数组
  System.out.println(Arrays.toString(buffer));
  System.out.println(random.nextDouble());//生成0.0到1.0之间的伪随机double数
  System.out.println(random.nextInt(20));//生成0~20之间的伪随机数
 }
Random使用48位的种子,如果这个类的两个实例是用同一个种子创建,对它们以同样的顺序调用方法,则它们会产生相同的数字序列。也就是说,Random产生的数字并不是真正随机的,而是一种伪随机数。
为了避免这种情况,推荐使用当前时间作为Random对象的种子:Random r=new Random(System.cuyyentTimeMillis());

转载于:https://www.cnblogs.com/wyl-study/archive/2012/02/20/2359011.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值