java.lang.Math类使用简介
创始人
2025-05-29 11:08:27
0次

java.lang.Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
注意:Math类中的所有字段和方法都是静态static的,所以调用的时候直接使用类名调用即可。

1.字段常量:

1.1 自然对数的底数
public static final double E
比任何其他值都更接近 e(即自然对数的底数)的 double 值。值为:2.718281828459045

1.2 圆周率
public static final double PI
比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。值为:3.141592653589793

2.方法:

2.1 绝对值
public static int abs(int a)
public static long abs(long a)
public static float abs(float a)
public static double abs(double a)
返回参数值的绝对值。如果参数为非负数,则返回该参数。如果参数为负数,则返回该参数的相反数。

举例:
Math.abs(-3); // 返回3
Math.abs(0); // 返回0
Math.abs(3); // 返回3
Math.abs(-0.7F); // 返回0.7F

2.2 返回较小值
public static int min(int a, int b)
public static long min(long a, long b)
public static float min(float a, float b)
public static double min(double a, double b)
返回两个参数值中较小的一个。也就是说,结果为更接近负无穷大的参数。如果参数值相同,那么结果也是同一个值。

举例:
Math.min(0, 3); // 返回0
Math.min(3, 0); // 返回0
Math.min(-1, 3); // 返回-1
Math.min(3, 3); // 返回3

2.3 返回较大值
public static int max(int a, int b)
public static long max(long a, long b)
public static float max(float a, float b)
public static double max(double a, double b)
返回两个参数值中较大的一个。也就是说,结果为更接近正无穷大的参数。如果参数值相同,那么结果也是同一个值。

举例:
Math.max(0, 3); // 返回3
Math.max(3, 0); // 返回3
Math.max(-1, 3); // 返回3
Math.max(3, 3); // 返回3

2.4 返回正无穷大方向的相邻整数
public static double floor(double d)
返回最大的(最接近正无穷大)的浮点数,该值小于等于参数,并等于某个整数。

举例:
Math.floor(0); // 返回0.0
Math.floor(10); // 返回10.0
Math.floor(10.2); // 返回10.0
Math.floor(-10.2); // 返回-11.0
Math.floor(10.9); // 返回10.0
Math.floor(-10.9); // 返回-11.0

2.5 返回负无穷大方向的相邻整数
public static double ceil(double d)
返回最小的(最接近负无穷大)的浮点数,该值大于等于参数,并等于某个整数。

举例:
Math.ceil(0); // 返回0.0
Math.ceil(10); // 返回10.0
Math.ceil(10.2); // 返回11.0
Math.ceil(-10.2); // 返回-10.0
Math.ceil(10.9); // 返回11.0
Math.ceil(-10.9); // 返回-10.0

2.6 返回最接近参数的整数
public static int round(float f)
public static long round(double d)
返回最接近参数的整数。结果将舍入为整数:加上 1/2,对结果调用floor并将所得结果强制转换为 int 类型。换句话说,结果等于以下表达式的值:(int)Math.floor(a + 0.5f)。

举例:
Math.round(10); // 返回10
Math.round(10.2); // 返回10
Math.round(-10.2); // 返回-10
Math.round(10.9); // 返回11
Math.round(-10.9); // 返回-11

2.7 采用四舍五入的方式返回最接近参数的整数
public static double rint(double d)
返回最接近参数并等于某一整数的 double 值。如果两个同为整数的 double 值都同样接近,那么结果取偶数。

举例:
Math.rint(1); // 返回1.0
Math.rint(1.2); // 返回1.0
Math.rint(1.9); // 返回2.0
Math.rint(1.5); // 返回2.0(当小数为5时,对于整数1和2同样接近,但是2为偶数,所以结果为2)
Math.rint(2.5); // 返回2.0(当小数为5时,对于整数1和2同样接近,但是2为偶数,所以结果为2)

2.8 返回e的d次幂
public static double exp(double d)
返回e(即自然对数的底数)的d次幂的值。

举例:
Math.exp(0); // 返回1.0
Math.exp(2); // 返回7.38905609893065
Math.exp(3.3); // 返回27.112638920657883
Math.exp(-3.3); // 返回0.036883167401240015

2.9 返回e的d次幂减1
public static double expm1(double d)
返回e(即自然对数的底数)的d次幂减1的值。

举例:
Math.expm1(0); // 返回1.0
Math.expm1(2); // 返回6.38905609893065
Math.expm1(3.3); // 返回26.112638920657883
Math.expm1(-3.3); // 返回-0.96311683259876

2.10 返回a的b次幂
public static double pow(double a, double b)
返回第一个参数的第二个参数次幂的值。

举例:
Math.pow(2, 5); // 返回32.0
Math.pow(2, -5); // 返回0.03125
Math.pow(2.1, 5); // 返回40.84101000000001
Math.pow(-2, 5); // 返回-32.0
Math.pow(10, 0); // 返回1.0
Math.pow(0, 10); // 返回0.0

2.11 返回一个伪随机浮点数
public static double random()
返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。

举例:
Math.random(); // 返回:0.739333266112564(每次调用会得到不同的返回值)

2.12 返回正平方根
public static double sqrt(double d)
返回正确舍入的 double 值的正平方根。

举例:
Math.sqrt(0); // 返回0.0
Math.sqrt(4); // 返回2.0
Math.sqrt(-4); // 返回NaN
Math.sqrt(10.8); // 返回3.286335345030997

2.13 返回立方根
public static double cbrt(double d)
返回 double 值的立方根。

举例:
Math.cbrt(0); // 返回0.0
Math.cbrt(8); // 返回2.0
Math.cbrt(-8); // 返回-2.0
Math.cbrt(10.8); // 返回2.2104188991842317

2.14 角度和弧度转换
public static double toRadians(double angdeg)
将用角度表示的角转换为近似相等的用弧度表示的角。此转换通常是不精确的。
public static double toDegrees(double angrad)
将用弧度表示的角转换为近似相等的用角度表示的角。此转换通常是不精确的。

举例:
Math.toRadians(30); // 返回0.5235987755982988
Math.toRadians(90); // 返回1.5707963267948966
Math.toDegrees(0.5235987755982988); // 返回29.999999999999996
Math.toDegrees(1.5707963267948966); // 返回90.0

2.15 三角函数
public static double sin(double radians)
返回角的三角正弦。参数为弧度表示的角。
public static double sinh(double radians)
返回 double 值的双曲线正弦。参数为弧度表示的角。
public static double cos(double radians)
返回角的三角余弦。参数为弧度表示的角。
public static double cosh(double radians)
返回 double 值的双曲线余弦。参数为弧度表示的角。
public static double tan(double radians)
返回角的三角正切。参数为弧度表示的角。
public static double tanh(double radians)
返回 double 值的双曲线正切。参数为弧度表示的角。
public static double asin(double d)
返回一个值的反正弦;返回的角度范围在 -pi/2 到 pi/2 之间。参数为弧度表示的角。
public static double acos(double d)
返回一个值的反余弦;返回的角度范围在 0.0 到 pi 之间。参数为弧度表示的角。
public static double atan(double d)
返回一个值的反正切;返回的角度范围在 -pi/2 到 pi/2 之间。参数为弧度表示的角。
public static double atan2(double y, double x)
将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角 theta。该方法通过计算 y/x 的反正切值来计算相角 theta,范围为从 -pi 到 pi。

举例:
Math.sin(Math.toRadians(30)); // 返回0.49999999999999994
Math.sinh(Math.toRadians(30)); // 返回0.5478534738880397
Math.cos(Math.toRadians(30)); // 返回0.8660254037844387
Math.cosh(Math.toRadians(30)); // 返回1.1402383210764286
Math.tan(Math.toRadians(30)); // 返回0.5773502691896257
Math.tanh(Math.toRadians(30)); // 返回0.4804727781564516
Math.asin(Math.toRadians(30)); // 返回0.5510695830994463
Math.acos(Math.toRadians(30)); // 返回1.0197267436954502
Math.atan(Math.toRadians(30)); // 返回0.48234790710102493
Math.atan2(2, 3); // 返回0.5880026035475675

2.16 返回参数的符号
public static float signum(float f)
public static double signum(double d)
返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;如果参数小于 0,则返回 -1.0。

举例:
Math.signum(0); // 返回0.0
Math.signum(1); // 返回1.0
Math.signum(-1); // 返回-1.0
Math.signum(10); // 返回1.0
Math.signum(10.1); // 返回1.0

2.17 复制符号
public static float copySign(float magnitude, float sign)
public static double copySign(double magnitude, double sign)
返回带有第二个浮点参数符号的第一个浮点参数。

举例:
Math.copySign(-3, 0); // 返回3.0
Math.copySign(2, -3); // 返回-2.0
Math.copySign(3.3, -3); // 返回-3.3
Math.copySign(-3.3, 2.1); // 返回3.3

2.18 返回参数的对数
public static double log(double d)
返回参数的自然对数(底数是 e)。
public static double log10(double d)
返回参数的底数为 10 的对数。
public static double log1p(double d)
返回参数与 1 之和的自然对数(底数是 e)。注意,对于小的参数,log1p(d) 的结果比 log(1.0+d) 的浮点计算结果更接近 ln(1 + d) 的实际结果。

举例:
Math.log(10); // 返回2.302585092994046
Math.log10(10); // 返回1.0
Math.log1p(10); // 返回2.3978952727983707
 

相关内容

热门资讯

在大吉订购APP订购交易亏损被...   近期,不少投资者反映在“大吉订购App”上投资白银、铂金等商品遭遇严重亏损。该平台宣称提供现货订...
铂银壹号APP商品订购交易亏损...   许多中小投资者误以为网上的“商品现货订购”是合规合法的理财渠道,殊不知这背后隐藏着巨大的合规风险...
兴鑫淘金APP贵金属订购交易亏...   白银、贵金属或其他商品类投资,除国家批准的正规期货交易场所及持牌期货公司外,市面上大量第三方交易...
铂银掘金APP无资质的违规平台...   铂银掘金等平台的投资者,往往是被“注册送现金”“充值返现券”“首单免亏”等广告话术吸引,进而下载...
八方淘金APP订购交易不合规,...   “八方淘金APP”“铂银掘金APP”“铂银壹号APP”等软件被指以“现货订购”为名,实际采用高杠...
在指尖订购APP订购商品亏损被...   指尖订购APP这类平台,表面是“订购交易”,实则是披着电商外衣的非法期货陷阱。绝大多数投资者被蒙...
在犀贝易购APP做商品订购交易...   市面上打着“现货投资”“贵金属交易”旗号的APP并不少,但真正合规、受监管的平台并不多。犀贝易购...
易达淘金APP虚假商品订购交易...   易达淘金APP存在严重的虚假宣传与违规交易行为。该平台打着“商品订购”的旗号,实则通过不合规的交...
大浪淘金APP白银订购亏损被骗...   大浪淘金APP最隐蔽的套路,在于其完全封闭的内盘交易系统。表面上,它宣称与国际贵金属市场接轨;实...
一品好购APP上订购白银出现亏...   一品好购APP原名“一品订购”,运营方为上海宝智未来信息技术有限公司。近期不少投资者反映在该平台...
九州订购APP贵金属订购投资骗...   九州订购APP正通过抖.音、快手、今日头条等平台大量投放投资广告,用“5元起投”“充值返现”“0...
坚锅淘金APP交易软件并不正规...   当前,市面上大量所谓的“现货商城订购”交易软件,早已偏离了正常的实物商品买卖,演变为高杠杆、高手...
斗金订购APP贵金属期货交易骗...   斗金订购APP的投资者往往被铺天盖地的广告宣传所诱导——注册即送现金、充值返现券等看似诱人的福利...
警惕!云启购APP违规经营,披...   "5元起投、充值返现、稳赚不赔"——这些诱人的广告语背后,可能是一个精心设计的金融陷阱。  近期...
量子淘金APP贵金属投资不合规...   "4元起投""充值返券""月入过万"——这些极具诱惑力的广告语在短视频平台、社交软件上铺天盖地。...
鑫汇智投APP贵金属商品订购骗...   鑫汇智投APP非法期货投资骗局,受害者在投资过程中根本不懂交易,也不去研究和验证这个平台是否正规...
矅光智策APP平台违规经营非法...   矅光智策APP对外宣称是“商城订购”“现货交易”,但查询其经营范围,并未显示具备开展现货期货交易...
黄金珠宝怎么选?内侧刻字都代表... 潮新闻客户端 记者 马焱 通讯员 任倩影 9月8日下午,“云游杭州 乐购金秋”——“浙城·浙放心”活...
原创 冰... 最近全球国债市场正在上演魔幻一幕: 美债、日债、欧债遭遇猛烈抛售,收益率冲到几十年新高,美国财政部都...
日韩股市开盘表现分化 上证报中国证券网讯 9月9日,日韩股市开盘表现分化,韩国综合指数开盘上涨0.26%,报6972.87...