Java Math的excludeExact()方法减去指定的数字并返回它。
subtractExact()方法的语法为:
Math.subtractExact(num1, num2)
注意:subtractExact()是静态方法。因此,我们可以使用Math类名来访问该方法。
excludeExact()参数
num1 / num2 - 要返回其差值的第一个和第二个值
注意:这两个值的数据类型应为int 或 long。
excludeExact()返回值
返回两个值之间的差
示例1:Java Math.subtractExact()
import java.lang.Math; class Main { public static void main(String[] args) { //创建int变量 int a = 54; int b = 30; //带整型参数的subtractExact() System.out.println(Math.subtractExact(a, b)); // 24 //创建long变量 long c = 72345678l; long d = 17654321l; //带long参数的subtractExact() System.out.println(Math.subtractExact(c, d)); // 54691357 } }
在上面的示例中,我们使用了带有 int 和l ong 变量的Math.subtractExact()方法来计算差值。
示例2:Math.subtractExact()引发异常
如果差值的结果溢出数据类型,则方法excludeExact()会引发异常。 也就是说,结果应在指定变量的数据类型范围内。
import java.lang.Math; class Main { public static void main(String[] args) { //创建int变量。 //最大int值 int a = 2147483647; int b = -1; //带int参数的subtractExact() //引发异常 System.out.println(Math.subtractExact(a, b)); } }
在上述实例中,a的值是最大int值和b的值是-1。当我们减去a和时b,
2147483647 - (-1) => 2147483647 + 1 => 2147483648 //超出int类型的范围
因此,subtractExact()方法引发整数溢出异常。