Java8中Math类新增了一些数学方法,让我们能够更加便捷地进行数学计算。这篇文章将介绍Java8 Math新增的一些常用方法,以及相应的示例说明。
Java8 Math新增方法介绍
Java8中Math类新增了一些数学方法,让我们能够更加便捷地进行数学计算。这篇文章将介绍Java8 Math新增的一些常用方法,以及相应的示例说明。
Math.addExact(int x, int y)
这个方法是将两个int类型的数相加,并返回它们的和。如果溢出,即产生一个结果超出了int类型的最大值或最小值范围,将会抛出一个ArithmeticException异常。
示例:
int result = Math.addExact(2147483646, 2);
System.out.println(result); // 输出2147483648
int resultOverflow = Math.addExact(2147483647, 2);
// 抛出ArithmeticException异常,因为会产生溢出
Math.subtractExact(int x, int y)
这个方法是将两个int类型的数相减,并返回它们的差。如果溢出,即产生一个结果超出了int类型的最大值或最小值范围,将会抛出一个ArithmeticException异常。
示例:
int result = Math.subtractExact(2147483646, 2);
System.out.println(result); // 输出2147483644
int resultOverflow = Math.subtractExact(-2147483648, 1);
// 抛出ArithmeticException异常,因为会产生溢出
Math.multiplyExact(int x, int y)
这个方法是将两个int类型的数相乘,并返回它们的积。如果溢出,即产生一个结果超出了int类型的最大值或最小值范围,将会抛出一个ArithmeticException异常。
示例:
int result = Math.multiplyExact(1073741823, 2);
System.out.println(result); // 输出2147483646
int resultOverflow = Math.multiplyExact(1073741824, 2);
// 抛出ArithmeticException异常,因为会产生溢出
Math.incrementExact(int x)
这个方法是将int类型的数加1,并返回它的值。如果溢出,即产生一个结果超出了int类型的最大值或最小值范围,将会抛出一个ArithmeticException异常。
示例:
int result = Math.incrementExact(2147483646);
System.out.println(result); // 输出2147483647
int resultOverflow = Math.incrementExact(2147483647);
// 抛出ArithmeticException异常,因为会产生溢出
Math.decrementExact(int x)
这个方法是将int类型的数减1,并返回它的值。如果溢出,即产生一个结果超出了int类型的最大值或最小值范围,将会抛出一个ArithmeticException异常。
示例:
int result = Math.decrementExact(2147483647);
System.out.println(result); // 输出2147483646
int resultOverflow = Math.decrementExact(-2147483648);
// 抛出ArithmeticException异常,因为会产生溢出
Math.floorDiv(int x, int y)
这个方法是将两个int类型的数相除,并返回商的向下取整值。如果y等于0,则会抛出一个ArithmeticException异常。
示例:
int result = Math.floorDiv(10, 3);
System.out.println(result); // 输出3
int resultZero = Math.floorDiv(10, 0);
// 抛出ArithmeticException异常,因为除数为0
Math.floorMod(int x, int y)
这个方法是将两个int类型的数相除,并返回余数。余数的符号与被除数x的符号相同。如果y等于0,则会抛出一个ArithmeticException异常。
示例:
int result = Math.floorMod(10, 3);
System.out.println(result); // 输出1
int resultZero = Math.floorMod(10, 0);
// 抛出ArithmeticException异常,因为除数为0
Math.floor(double d)
这个方法是将double类型的数向下取整,并返回值的整数部分。
示例:
double result = Math.floor(12.3);
System.out.println(result); // 输出12.0
Math.nextUp(double d)
这个方法返回比参数d略大的浮点数(即最接近d的浮点数,它比d大,但是与d最接近)。如果d为正无穷大,则返回正无穷大。如果d为NaN,则返回NaN。
示例:
double result = Math.nextUp(2.0);
System.out.println(result); // 输出2.0000000000000004
结束语
以上就是Java8中Math新增的一些常用方法,不同的方法可以用于不同的数学计算场景。在使用这些方法的过程中,要注意溢出和除数为0等异常情况。
本文标题为:java8 Math新增方法介绍
基础教程推荐
- SpringMVC中Model与Session的区别说明 2023-08-07
- JSP中实现系统登录后的退出原理及代码 2024-01-10
- JSP基于JDBC的数据库连接类实例 2023-08-03
- Springboot整合Redis的详细教程分享 2022-09-03
- UniApp + SpringBoot 实现微信支付和退款功能 2022-12-03
- Javaweb工程运行报错HTTP Status 404解决办法 2023-07-30
- SpringBoot与Spring中数据缓存Cache超详细讲解 2023-06-30
- Java正则表达式API字符类 2022-12-16
- drools中then部分的写法(推荐) 2022-11-11
- Mybatis Plus中的流式查询案例 2023-04-17