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新增方法介绍
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
- SpringMVC参数传递之基本数据类型和复杂对象说明 2023-06-23
- web.xml中如何设置配置文件的加载路径实例详解 2023-07-31
- Java实现简单班级管理系统 2022-11-05
- java – 使用Spring MVC和MySQL数据库 2023-11-04
- java中类加载与双亲委派机制详解 2023-04-18
- JSP forward用法分析实例代码分析 2023-12-27
- 一文了解mybatis的延迟加载 2023-03-06
- 如何使用MybatisPlus快速进行增删改查详解 2023-03-31
- Spring零基础到进阶之使用方法详解 2023-02-27
- Java根据ip地址获取归属地实例详解 2023-05-08