咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~
🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!
环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8
@TOC
在编程中,数学计算是一个不可或缺的部分。为了方便编写数学计算相关的代码,在Java中提供了Math类,包含了常见的数学计算方法,如sin、cos、tan等三角函数,以及abs、pow、sqrt等方法。
Math类是Java中一个非常重要的类,它提供了各种数学计算的方法,如取绝对值、求平方根、幂运算等等。Math类的方法非常方便,使用起来也非常简单,能够满足Java程序中的各种数学计算需求。
本文将详细介绍Java中Math类的各种方法,包括方法名称、方法作用、方法参数和返回值等。
本文将分为以下几个部分:
Math类的方法都是静态方法,可以直接用类名调用,不需要创建Math类的实例。
Java中的Math
类是java.lang
包的一部分,提供了一系列用于执行基本数学运算的方法,如三角函数、指数对数运算、绝对值、舍入等。以下是对Math
类的补充内容:
sin(double a)
:正弦函数。cos(double a)
:余弦函数。tan(double a)
:正切函数。exp(double a)
:e
的指数次幂。log(double a)
:自然对数。log10(double a)
:以10为底的对数。abs(int a)
:返回整数的绝对值。abs(long a)
:返回长整数的绝对值。abs(float a)
:返回浮点数的绝对值。rint(double a)
:四舍五入到最接近的整数,采用与round
不同的策略。gcd(int x, int y)
:计算两个整数的大于等于0的最大公约数。lcm(int x, int y)
:计算两个正整数的最小公倍数。signum(double d)
:返回参数的符号函数:-1.0如果参数为负,+1.0如果参数为正,0.0如果参数为0。sqrt(double a)
:平方根。cbrt(double a)
:立方根。toRadians(double angdeg)
:将角度转换为弧度。toDegrees(double angrad)
:将弧度转换为角度。random()
:生成一个在0.0(包含)到1.0(不包含)之间的随机数。Math.random()
生成的是[0.0, 1.0)之间的随机数,如果需要其他范围的随机数,需要进行相应的数学变换。Math
类的方法都是静态的,不需要创建Math
类的实例即可使用。pow
和sqrt
等方法,注意参数的值域和可能的数学异常,如负数的平方根在实数范围内是未定义的。public class MathDemo {
public static void main(String[] args) {
// 计算正弦值
double sinValue = Math.sin(Math.toRadians(30));
System.out.println("sin(30°) = " + sinValue);
// 计算对数
double logValue = Math.log(10);
System.out.println("log(10) = " + logValue);
// 计算最大公约数
int gcdValue = Math.gcd(48, 18);
System.out.println("GCD(48, 18) = " + gcdValue);
// 计算立方根
double cbrtValue = Math.cbrt(27);
System.out.println("立方根(27) = " + cbrtValue);
}
}
Java中的Math类提供了许多数学相关的功能,包括基本的数学运算、三角函数、指数函数、对数函数等等。
它的优点包括:
如下我给大家列举一些常用的应用场景,供同学们参考:
以下是Math类的一些常用方法:
int num = Math.abs(-5); // num = 5
abs方法返回参数的绝对值。
double num = Math.ceil(4.2); // num = 5.0
ceil方法返回不小于参数的最小整数。
double num = Math.floor(4.8); // num = 4.0
floor方法返回不大于参数的最大整数。
该方法用于将一个数字四舍五入为最接近的整数,具体用法如下:
long num = Math.round(4.5); // num = 5
double num = Math.pow(2, 3); // num = 8.0
pow方法返回第一个参数的第二个参数次方。
double num = Math.sqrt(16); // num = 4.0
sqrt方法返回参数的平方根。
double num1 = Math.sin(Math.PI/2); // num1 = 1.0
double num2 = Math.cos(Math.PI); // num2 = -1.0
double num3 = Math.tan(0); // num3 = 0.0
sin、cos、tan方法分别返回参数的正弦值、余弦值、正切值。参数为弧度制。
double num = Math.random(); // num为0~1之间的随机浮点数
random方法返回一个0~1之间的随机浮点数。
除了方法之外,Math类还包含一些常量:
double num = Math.PI; // num = 3.141592653589793
PI常量表示圆周率π,为一个不变的常量。
double num = Math.E; // num = 2.718281828459045
E常量表示自然对数的底数e,为一个不变的常量。
以下是对Math类中abs、ceil、floor、round、pow、sqrt、sin、cos、tan、random方法的测试用例:
如下:
package com.demo.javase.day46;
/**
* 演示Java中Math类
*
* @author bug菌
* @version 1.0
* @date 2023/10/10 14:42
*/
public class TestMath {
public static void main(String[] args) {
double a = -10.5;
double b = 5.5;
double c = 2.0;
// abs方法
System.out.println(Math.abs(a)); // 输出:10.5
// pow方法
System.out.println(Math.pow(b, c)); // 输出:30.25
// sqrt方法
System.out.println(Math.sqrt(b)); // 输出:2.345207879911715
// max方法
System.out.println(Math.max(a, b)); // 输出:5.5
// min方法
System.out.println(Math.min(a, b)); // 输出:-10.5
// ceil方法
System.out.println(Math.ceil(a)); // 输出:-10.0
// floor方法
System.out.println(Math.floor(a)); // 输出:-11.0
// round方法
System.out.println(Math.round(b)); // 输出:6
// random方法
System.out.println(Math.random()); // 输出:0.40177626192565223
}
}
如下是测试用例执行结果,同学们请看:
这段Java代码演示了java.lang.Math
类的多种常用方法,这个类提供了许多用于执行基本数学操作的静态方法。以下是对代码中使用的方法的简要说明:
double a = -10.5
,Math.abs(a)
将返回10.5
。a
的b
次幂。对于Math.pow(5.5, 2.0)
,它将计算5.5
的平方,输出结果为30.25
。a
的平方根。Math.sqrt(5.5)
将返回5.5
的平方根,输出结果接近2.345207879911715
。a
和b
中的较大值。Math.max(-10.5, 5.5)
将返回5.5
。a
和b
中的较小值。Math.min(-10.5, 5.5)
将返回-10.5
。a
的最小整数。Math.ceil(-10.5)
将返回-10.0
,这是因为ceil
方法总是向上取整到最接近的整数。a
的最大整数。Math.floor(-10.5)
将返回-11.0
,因为floor
方法总是向下取整到最接近的整数。a
四舍五入到最接近的整数。Math.round(5.5)
将返回6
,因为5.5
四舍五入到6
。0.0
(包含)和1.0
(不包含)之间的随机double
值。每次调用都会生成一个新的随机数,例如输出0.40177626192565223
。Math.random()
方法生成的是伪随机数,适合用于简单的随机化需求,但在需要加密或者高安全性的随机性时不适用。Math.round()
方法在四舍五入时,如果参数是负数,其行为可能与直觉不符。例如,Math.round(-2.5)
会返回-2
而不是-3
。Math.sqrt
的输入为负数时会返回NaN
。 这段代码提供了一个很好的Math
类使用示例,展示了Java中进行基本数学运算的方法。在实际应用中,这些方法可以极大地简化数学计算的实现。
在Java编程语言中,Math
类扮演着至关重要的角色,提供了一整套丰富的数学函数,以简化程序员在进行数学计算时的工作量。本文深入探讨了Math
类的多种方法和应用场景,帮助读者更好地理解和使用这个强大的工具类。
sin
、cos
、tan
等,允许我们直接计算角度的三角函数值。exp
、log
、log10
等,为处理指数和对数运算提供了便利。abs
方法可应用于整数、长整数和浮点数,返回参数的绝对值。rint
、round
等方法,提供了不同的数值舍入策略。sqrt
和cbrt
分别用于计算平方根和立方根。random
方法生成0到1之间的随机浮点数。Math.random()
生成的随机数时,需注意其适用范围和限制。pow
和sqrt
等方法,注意参数值域和可能的数学异常。 本文提供的示例代码演示了Math
类中多个方法的使用,包括abs
、ceil
、floor
、round
、pow
、sqrt
、sin
、cos
、tan
和random
,展示了如何进行基本的数学运算和更高级的数学功能。
通过本文的学习,我们不仅掌握了Math
类的使用方法,还理解了其在Java编程中的应用价值。Math
类作为Java语言的基石之一,其重要性不言而喻。希望每位读者都能在实际编程中灵活运用Math
类,解决各种数学问题。
如果本文对你有所帮助,不妨点赞、关注和收藏,以支持作者继续创作更多高质量的技术内容。同时,欢迎关注公众号「猿圈奇妙屋」,获取更多Java学习资料和编程知识。
愿每位Java开发者都能在技术的道路上不断探索和前进,用代码编织出精彩的未来。
如上涉及所有源码均已上传同步在「Gitee」,提供给同学们一对一参考学习,辅助你更迅速的掌握。
无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Java」,bug菌郑重承诺,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门Java编程,就像滚雪球一样,越滚越大,指数级提升。
最后,如果这篇文章对你有所帮助,帮忙给作者来个一键三连,关注、点赞、收藏,您的支持就是我坚持写作最大的动力。
同时欢迎大家关注公众号:「猿圈奇妙屋」 ,以便学习更多同类型的技术文章,免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板、技术文章Markdown文档等海量资料。
我是bug菌,CSDN | 掘金 | infoQ | 51CTO 等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,华为云 | 阿里云| 腾讯云等社区优质创作者,全网粉丝合计15w+ ;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等海量资料。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。