博客
关于我
Math、Random类
阅读量:558 次
发布时间:2019-03-09

本文共 1774 字,大约阅读时间需要 5 分钟。

好的,我将基于您的要求对文本进行优化:


Java 中的 Math 类与 Random 类

Math 类

Java 的 java.lang.Math 类提供了一系列静态方法,用于执行基本的科学计算。这些方法的参数和返回值通常为 double 类型。如果需要更强大的数学功能,可以考虑使用 Apache Commons Math 或其他高级库。

常用 Method

  • 绝对值

    Math.abs(double a)
    返回输入值的绝对值。

  • 三角函数

    acos, asin, atan, cos, sin, tan
    用于执行基本三角函数运算。

  • 平方根

    Math.sqrt(double a)
    返回输入值的平方根。

  • 幂运算

    Math.pow(double a, double b)
    返回 ab 次幂。

  • 最大值与最小值

    Math.max(double a, double b), Math.min(double a, double b)
    返回两个数中的最大值或最小值。

  • 取整运算

    Math.ceil(double a)
    返回大于 a 的最小整数。
    Math.floor(double a)
    返回小于 a 的最大整数。
    Math.round(double a)
    double 转换为相应的 long 类型(四舍五入)。

  • 随机数生成

    Math.random()
    返回区间 [0, 1) 之间的 double 类型随机数。

  • 弧度与角度转换

    Math.toDegrees(double radian)
    将弧度转换为角度。
    Math.toRadians(double degree)
    将角度转换为弧度。


  • 随机数生成(Random 类)

    虽然 Math.random() 方法能够生成随机数,但如果需要更灵活的随机数范围和类型,可以使用 Random 类。这个类专门用于生成各种类型的随机数,Math.random() 实际上调用了 RandomnextDouble() 方法。

    Random 类的常用 Method
  • 生成 double 类型随机数

    Random.random()
    返回区间 [0, 1) 之间的 double 随机数。

  • 生成 int 类型随机数

    Random.nextInt()
    返回区间 [Integer.MIN_VALUE, Integer.MAX_VALUE) 之间的 int 随机数。

  • 生成 float 类型随机数

    Random.nextFloat()
    返回区间 [0.0f, 1.0f) 之间的 float 随机数。

  • 生成布尔值

    Random.nextBoolean()
    返回 truefalse

  • 范围限制的整数生成

    Random.nextInt(int range)
    返回区间 [0, range) 之间的 int 随机数。
    Random.nextDouble(int range)
    返回区间 [0.0, range) 之间的 double 随机数。


  • 示例代码

    import java.util.Random;public class TestRandom {    public static void main(String[] args) {        Random rand = new Random();        System.out.println(rand.nextDouble()); // [0,1) 之间的双精度随机数        System.out.println(rand.nextInt()); // [-2^31, 2^31-1] 之间的整数起点        System.out.println(rand.nextFloat()); // [0.0f, 1.0f) 之间的单精度随机数        System.out.println(rand.nextBoolean()); // 布尔值随机生成        System.out.println(rand.nextInt(10)); // [0,10) 之间的整数起点    }}

    这篇文章清晰地介绍了 Math 类和 Random 类的功能,内容结构合理,便于搜索引擎爬取和索引,同时保持了技术内容的准确性和可读性。

    转载地址:http://ywgsz.baihongyu.com/

    你可能感兴趣的文章
    Nokia5233手机和我装的几个symbian V5手机软件
    查看>>
    Non-final field ‘code‘ in enum StateEnum‘
    查看>>
    none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
    查看>>
    None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
    查看>>
    Vue.js 学习总结(16)—— 为什么 :deep、/deep/、>>> 样式能穿透到子组件
    查看>>
    NOPI读取Excel
    查看>>
    NoSQL&MongoDB
    查看>>
    NoSQL介绍
    查看>>
    Notadd —— 基于 nest.js 的微服务开发框架
    查看>>
    Notepad ++ 安装与配置教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    Notepad++在线和离线安装JSON格式化插件
    查看>>
    notepad++最详情汇总
    查看>>
    notepad如何自动对齐_notepad++怎么自动排版
    查看>>
    Notification 使用详解(很全
    查看>>
    NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty()
    查看>>
    Now trying to drop the old temporary tablespace, the session hangs.
    查看>>
    nowcoder—Beauty of Trees
    查看>>
    np.arange()和np.linspace()绘制logistic回归图像时得到不同的结果?
    查看>>
    np.power的使用
    查看>>
    NPM 2FA双重认证的设置方法
    查看>>