HelloCoder HelloCoder
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
  • 《PureJavaCoderRoad》

    • 导读

    • Java基础

    • Java进阶

      • 常用类

        • BigDecimal
        • File类
        • Java常用类
        • Math类
        • String
        • StringBuilder、StringBuffer、StringJoiner
        • 包装类型
        • 日期类
      • 集合

      • 反射

      • IO

      • Java新特性

      • 序列化与反序列
      • 泛型
    • Java高阶

    • 开发辅助工具

    • 计算机网络

    • 数据库

    • JavaEE

    • 中间件

    • 架构

    • 建议

  • PureJavaCoderRoad
  • Java进阶
  • 常用类
#Math
码农阿雨
2022-05-26
目录

Math类

java.lang.Math 是Java库提供的一个计算数学相关的类。

包括 指数、对数、随机数、平方根、三角函数等等。

# 1、求绝对值

Math.abs(-10); // 10

# 2、取最大或最小值

Math.max(100, 1); // 100
Math.min(1.2, 2.3); // 1.2

# 3、计算x^y次方

Math.pow(2, 3); // 2的3次方 8

# 4、计算√x

Math.sqrt(4) // 2

# 5、三角函数

Math.sin(3.14); // 0.00159...
Math.cos(3.14); // -0.9999...
Math.tan(3.14); // -0.0015...
Math.asin(1.0); // 1.57079...
Math.acos(1.0); // 0.0

计算以e为底的对数:

Math.log(4); // 1.386...

计算以10为底的对数:

Math.log10(100); // 2

# 6、常量

Math还提供了几个数学常量:

double pi = Math.PI; // 3.14159...
double e = Math.E; // 2.7182818...
Math.sin(Math.PI / 6); // sin(π/6) = 0.5

# 7、随机数

# 不带种子

生成一个随机数x,x的范围是0 <= x < 1:

Math.random(); // 0.53907... 每次都不一样

random()函数默认是返回一个double的浮点类型的随机数,其范围是:[ 0 , 100 )

如果要指定范围,这里指定[ 0 , 100 ),可以这样写:

int num = (int) (Math.random() * 100); // 注意不要写成(int)Math.random()*3,这个结果为0,因为先执行了强制转换

还可以这样写,通过nextInt() 指定范围,同时输出一个整型的随机数,每次执行都是不一样的结果:

Random randNoSeed = new Random();
for (int i = 0; i < 10; i++)
    System.out.print(randNoSeed.nextInt(100)+" ");

# 带种子

Java中生成随机数,也是通过某一种算法实现的,其真正意义上,不是随机数,只是通过一种算法实现的伪随机数。

带种子的:

Random randSeed = new Random(47);
for (int i = 0; i < 10; i++)
    System.out.print(randSeed.nextInt(100) +" ");

以上第一次执行都是输出:

58 55 93 61 61 29 68 0 22 7 

第二次执行输出:

58 55 93 61 61 29 68 0 22 7 

你会发现每次执行,输出都是同样的一组数字。

所以说随机数也是按照某种算法进行的,只要给一个初始值,同一台机器上每次都是相同的结果。

参考:https://www.liaoxuefeng.com/wiki/1252599548343744/1260473555087392

阅读全文
×

(为防止恶意爬虫)
扫码或搜索:HelloCoder
发送:290992
即可永久解锁本站全部文章

解锁
#Math
上次更新: 2025-02-21 06:04:57
最近更新
01
《LeetCode 101》
02-21
02
IDEA、Golang、Pycharm破解安装
02-21
03
《LeetCode CookBook》
02-21
更多文章>
Theme by Vdoing | Copyright © 2020-2025 码农阿雨
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式