subtractExact()
方法的语法是:
Math.subtractExact(num1, num2)
这里,
subtractExact()
是一个静态方法。因此,我们使用类名访问该方法,
Math
。
subtractExact() 参数
subtractExact()
方法有两个参数。
注意: 两个值的数据类型都应该是int或long。
subtractExact() 返回值
返回 num1 和 num2 之间的差异示例 1: Java Math.subtractExact()
import java.lang.Math; class Main { public static void main(String[] args) { // create int variable int a = 54; int b = 30; // subtractExact() with int arguments System.out.println(Math.subtractExact(a, b)); // 24 // create long variable long c = 72345678l; long d = 17654321l; // subtractExact() with long arguments System.out.println(Math.subtractExact(c, d)); // 54691357 } }
在上面的例子中,我们使用了带有
int
和
long
变量的
Math.subtractExact()
方法来计算差异。
示例 2: Math.subtractExact() 引发异常
如果差异的结果溢出数据类型,方法
subtractExact()
将抛出异常。即结果应在指定变量的数据类型范围内。
import java.lang.Math; class Main { public static void main(String[] args) { // create int variable // maximum int value int a = 2147483647; int b =-1; // subtractExact() with int arguments // throws exception System.out.println(Math.subtractExact(a, b)); } }
在上面的例子中,
a 的值为
int
的最大值,
b 的值为 -1。当我们减去
a 和
b 时,
2147483647-(-1)
=> 2147483647 + 1
=> 2147483648 // out of range of int type
因此,
subtractExact()
方法会抛出
整数溢出
异常。