【Java学习笔记】Math方法

Math 方法

第一组:常用的

方法名 描述
Math.abs() 返回参数的绝对值
Math.ceil() 返回大于或等于参数的最小整数(向上取整)
Math.floor() 返回小于或等于参数的最大整数(向下取整)
Math.max() 返回两个参数中较大的值
Math.min() 返回两个参数中较小的值
Math.pow(数,开方次数) 返回第一个参数的第二个参数次方
Math.random() 返回一个 0 到 1 之间的随机数(左闭右开)
Math.sqrt() 返回参数的平方根
Math.round() 返回最接近参数的整数(四舍五入,存在精度缺失问题)

第二组:数学相关

方法名 描述
三角函数 :全部要求传入弧度参数
Math.sin() 返回参数的正弦值
Math.cos() 返回参数的余弦值
Math.tan() 返回参数的正切值
Math.asin() 返回参数值的反正弦值(弧度)
Math.acos() 返回参数值的反余弦值(弧度)
Math.atan() 返回参数值的反正切值(弧度)
Math.sinh() 返回参数的双曲正弦值
Math.cosh() 返回参数的双曲余弦值
Math.tanh() 返回参数的双曲正切值
指数和对数
Math.exp() 返回参数值的指数值
Math.expm1() 返回 e 的 x 次方减去 1 的结果
Math.log() 返回参数的自然对数
Math.log10() 返回参数的以 10 为底的对数
如果要计算其他数为底的对数,需要以 log10 为基准,使用换地公式解决
常用计算
Math.abs() 返回参数的绝对值
Math.ceil() 返回大于或等于参数的最小整数
Math.floor() 返回小于或等于参数的最大整数
Math.max() 返回两个参数中较大的值
Math.min() 返回两个参数中较小的值
Math.pow() 返回第一个参数的第二个参数次方
Math.sqrt() 返回参数的平方根
Math.hypot() 返回直角三角形的斜边长度
角度与弧度
Math.toDegrees() 将弧度转换为角度
Math.toRadians() 将角度转换为弧度

使用说明

1. 三角函数部分:要求全部传参为弧度

2. Math.log():默认以 e 为底

3. 计算其他数字为底的对数(使用换底公式)

java 复制代码
public class time_test {
    public static void main(String[] args) {
        System.out.println(tool.log_x_n(2,2));
    }
}

class tool{
    public static double log_x_n(int x,int n){
        double temp1 = Math.log10(n);
        double temp2 = Math.log10(x);
        return temp1 / temp2;
    }
}

4. randon 练习:生成 2 <= x <= 7 之间的随机数

获取 [a,b] 之间的随机数 --> 公式:a + Math.random*(b - a + 1)

java 复制代码
for (int i = 0; i < 5; i++) {
    System.out.println((int)(2 + Math.random()*(7 - 2 + 1)));
}

// 输出结果
6
7
3
2
5

解释

Math.random()*6 返回的是 0 <= x < 6 小数

2 + Math.random() * 6 返回的就是 2 <= x < 8 小数

最后取整即可返回整数

相关推荐
xiaolyuh123几秒前
Spring MVC Bean 参数校验 @Validated
java·spring·mvc
ha20428941942 分钟前
Linux操作系统学习记录之----自定义协议(网络计算器)
linux·网络·学习
蕨蕨学AI7 分钟前
【Wolfram语言】45.2 真实数据集
java·数据库
振华说技能9 分钟前
SolidWorks学习大纲-从基础到全面精通,请看详情
学习
曦月逸霜9 分钟前
离散数学-学习笔记(持续更新中~)
笔记·学习·离散数学
hunter145020 分钟前
windows server AD域与CA部署证书
笔记
im_AMBER21 分钟前
Leetcode 101 对链表进行插入排序
数据结构·笔记·学习·算法·leetcode·排序算法
予枫的编程笔记21 分钟前
【Java集合】深入浅出 Java HashMap:从链表到红黑树的“进化”之路
java·开发语言·数据结构·人工智能·链表·哈希算法
ohoy27 分钟前
RedisTemplate 使用之Set
java·开发语言·redis
mjhcsp27 分钟前
C++ 后缀数组(SA):原理、实现与应用全解析
java·开发语言·c++·后缀数组sa