java中常见的math方法
java.lang.Math :
绝对值:
static int abs(int a)
static long abs(long a)
static float abs(float a)
static double abs(double a)
极值:
static int max(int a, int b)
static long max(long a, long b)
static float max(float a, float b)
static double max(double a, double b)
static int min(int a, int b)
static long min(long a, long b)
static float min(float a, float b)
static double min(double a, double b)
三角:
static double sin(double a) //正弦函数
static double sinh(double x) //双曲正弦函数
static double cos(double a) //余弦函数
static double cosh(double x) //双曲余弦函数
static double tan(double a) //正切函数
static double tanh(double x) //双曲正切函数
static double asin(double a)
static double acos(double a)
static double atan(double a)
static double atan2(double y, double x)
对数,指数:
static double log(double a)
static double log10(double a)
static double log1p(double x) // ln (x+1)
static double exp(double a)
static double expm1(double x) // e^a - 1
幂,根:
static double pow(double a, double b)
static double sqrt(double a)
static double cbrt(double a) // cube root
static double hypot(double x, double y) // sqrt(x2 +y2)
static double scalb(double d, int scaleFactor) // d × 2
scaleFactor
static float scalb(float f, int scaleFactor) // f × 2
scaleFactor
随机:
static double random()
最接近的整数:
static long round(double a)
static int round(float a)
浮点数:
static double nextAfter(double start, double direction)
static float nextAfter(float start, double direction)
static double nextDown(double d)
static float nextDown(float f)
static double nextUp(double d)
static float nextUp(float f)
static double ceil(double a)
static double floor(double a)
static int floorDiv(int x, int y)
static long floorDiv(long x, long y)
static int floorMod(int x, int y)
static long floorMod(long x, long y)
无溢出计算:如果溢出则抛异常
static int toIntExact(long value)
static int addExact(int x, int y)
static long addExact(long x, long y)
static int subtractExact(int x, int y)
static long subtractExact(long x, long y)
static int multiplyExact(int x, int y)
static long multiplyExact(long x, long y)
static int negateExact(int a)
static long negateExact(long a)
static int incrementExact(int a)
static long incrementExact(long a)
static int decrementExact(int a)
static long decrementExact(long a)
符号:
static double signum(double d)
static float signum(float f)
角度转换:
static double toDegrees(double angrad)
static double toRadians(double angdeg)
其他:
static int getExponent(double d)
static int getExponent(float f)
static double rint(double a) // round int
static double copySign(double magnitude, double sign) //采用 magnitude 的值和 sign 的符号
static float copySign(float magnitude, float sign)
static double IEEEremainder(double f1, double f2) // f1 除以 f2的余数
static double ulp(double d)
static float ulp(float f)
1 package com.hone.test; 2 3 /** 4 * 测试java.lang.Math的方法 5 * @author Xia 6 * 7 */ 8 public class Maths { 9 10 public static void main(String[] args) { 11 double d = 123.456; 12 double d2 = -123.456; 13 14 int i = 123; 15 int b = 389; 16 System.out.printf("%.2f%n", d2); //按照格式输出2位小数 17 System.out.printf("%.3f%n", Math.abs(d2)); //Math.abs(d2) 获取绝对值 18 19 //------------没有溢出计算,如果有溢出则抛出异常-------------------- 20 System.out.println(Math.addExact(i, b)); 21 System.out.println(Math.incrementExact(i)); //如果溢出则加1 ------124 22 23 //------------极值-------------------- 24 System.out.println(Math.max(d, d2)); //选择更大的一个值 123.456 25 System.out.println(Math.min(i, b)); //选择更小的一个值 123 26 27 //------------对数,指数-------------------- 28 System.out.println(Math.log(d)); //输出以e为底的对数 29 System.out.println(Math.log10(100.0)); //输出以10为底的对数 30 System.out.println(Math.log10(100.0)); //输出以10为底的对数 31 32 System.out.println(Math.exp(1)); //输出以e为底的指数 33 34 //------------幂,根:-------------------- 35 System.out.println(Math.pow(d, d2)); //表示d^d2 36 System.out.println(Math.sqrt(d)); //取d的均方根 37 System.out.println(Math.cbrt(1000)); //立方根 38 39 //------------随机数-------------------- 40 System.out.println(Math.random()); //取(0,1)之间的随机数 41 42 //------------最接近的整数:-------------------- 43 System.out.println(Math.round(d)); //四舍五入取整 44 45 System.out.println(Math.ceil(d)); //向上取整 46 System.out.println(Math.floor(d)); //向下取整 47 } 48 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话