【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 小数

最后取整即可返回整数

相关推荐
Go Work1 分钟前
2026 Cadence SPB 24.1中文版安装图文详解(附安装包)
经验分享·笔记
我是人✓17 分钟前
Java核心语法:作用域、循环与大数值处理
java·开发语言·后端
ACP广源盛1392462567324 分钟前
HDMI2.0 转 DP1.4 桥接方案评估:国产 GSV2125C@ACP 芯片选型笔记
笔记·硬件架构·hdmi·type-c·国产芯片
夜之眷属37 分钟前
PriorityQueue:for-each 遍历和 poll 取出,顺序一样吗?
java·服务器·数据结构·后端·算法
龙仔7251 小时前
RustDesk 自建服务器 Key 强校验配置笔记
运维·服务器·笔记
蜗牛互联网1 小时前
Java标准HTTP调用多模态模型的票据抽取前置校验
java·人工智能·python·http
悟乙己1 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:赛题解析(一)
笔记·学习·金融
工具派1 小时前
Agent 不是玄学:用 Java 状态机思维理解 LangGraph
java·人工智能·python
霍霍的袁1 小时前
【C++】哈希表实现指南:从原理到开放定址法、链地址法的实现
c++·学习·哈希算法·散列表·visual studio
十年Java程序媛2 小时前
String / StringBuilder / StringBuffer|别再乱用字符串拼接,底层原理一次讲透
java·spring boot·后端