Advertisement

Java--Math类和Random类

阅读量:

1.Math类简介

  1. Math类中包含大量专门用于执行数学运算的方法。
  2. 该类通过final修饰成为终结类,并且无法实现子类。
  3. 该类中的所有方法都被static修饰为静态方法,并可通过class_name.method_name的方式直接调用。

2.Math常用方法

  1. abs(int):计算绝对值(int、long、float 和 double 类型可作为输入)
  2. ceil(double):进行向上取整(给定一个 double 类型的数值,并返回其向上取整后的 double 值)
  3. floor(double):进行向下取整(给定一个 double 类型的数值,并返回其向下取整后的 double 值)
  4. max(int, int):计算两个数中的较大者(仅限于 int 类型输入)
  5. min(int, int):计算两个数中的较小者(仅限于 int 类型输入)
  6. random():生成一个位于 0 到 1 之间的随机浮点数
  7. round(float|double):采用四舍五入法得到最接近的整数值(返回 int 或 long 类型)
  8. sqrt(double):计算平方根(若输入为负则返回 NaN)
  9. pow(double, double):进行幂运算(即计算指定指数的幂结果)
  10. sin(double)/cos(double)/tan(double):分别计算正弦、余弦和正切函数的结果

看看案例

复制代码
 public class Test {

    
     public static void main(String[] args) {
    
     System.out.println(Math.abs(5));
    
     double ceil = Math.ceil(-3.5);
    
     System.out.println(ceil);
    
     double floor = Math.floor(-3.5);
    
     System.out.println("floor = " + floor);
    
    int max = Math.max(12, 5);
    
     System.out.println("max = " + max);
    
     int min = Math.min(12, 5);
    
     System.out.println("min = " + min);
    
     double d=3.5415;
    
     long round = Math.round(d);
    
     System.out.println(round);
    
    int x=-2;
    
     double sqrt = Math.sqrt(x);
    
     System.out.println(sqrt);
    
     //Not a Number
    
    double pow = Math.pow(5, 3);
    
     System.out.println("pow = " + pow);
    
  
    
     }
    
 }

运行结果

3.Random类

3.1Random简介

ava.util模块中包含一个名为Random的类。该类基于起始数字(即种子值)启动一系列迭代运算以生成随机数值。尽管这些生成的数值看似随机分布,在特定种子值和迭代次数下将得到完全一致的结果(即所谓的伪随机数)。

3.2Random构造方法

基于系统自身时间的种子类,可以生成具有特定时间戳的Random实例。当调用带有long参数的Random()时,可以根据需求自行指定特定的种子值来生成随机数实例。

3.3Random常用方法

return int类型的一个随机数值。
该方法用于生成指定下界(含)与上界(不含)之间的均匀分布整数值。
该函数返回一个长整型均匀分布在指定范围内的伪随机数值。
此方法会生成一个闭区间[0.0, 1.0]内的均匀分布单精度浮点值。
此函数会生成闭区间[0.0, 1.0]内均匀分布的双精度浮点数值。
此方法会生成结果为true或false的概率均等的伪随机布尔类型布尔值。

案例

复制代码
 public class Test {

    
     public static void main(String[] args) {
    
     Random random=new Random();
    
     int i=random.nextInt();
    
     System.out.println(i);
    
     //伪随机数验证
    
    Random random1=new Random(100);
    
     Random random2=new Random(100);
    
     int num=random.nextInt();
    
     int num1=random1.nextInt();
    
     System.out.println("num = " + num);
    
     System.out.println("num1 = " + num1);
    
     Random random3=new Random();
    
     int i1=random.nextInt(2);//获取一个0(包含)到2(不包含)之间的数字
    
     System.out.println(i);
    
     long l = random.nextLong();
    
     System.out.println("l = " + l);
    
     float v = random.nextFloat();
    
     double v1 = random.nextDouble();
    
     float v2 = random.nextFloat();
    
     System.out.println("v = " + v);
    
     double v3 = random.nextGaussian();
    
     boolean b = random.nextBoolean();
    
     System.out.println(b);
    
  
    
     }
    
 }

运行结果

全部评论 (0)

还没有任何评论哟~