Java Math的excludeExact()方法減去指定的數字并返回它。
subtractExact()方法的語法為:
Math.subtractExact(num1, num2)
注意:subtractExact()是靜態(tài)方法。因此,我們可以使用Math類名來訪問該方法。
num1 / num2 - 要返回其差值的第一個和第二個值
注意:這兩個值的數據類型應為int 或 long。
返回兩個值之間的差
import java.lang.Math; class Main { public static void main(String[] args) { //創(chuàng)建int變量 int a = 54; int b = 30; //帶整型參數的subtractExact() System.out.println(Math.subtractExact(a, b)); // 24 //創(chuàng)建long變量 long c = 72345678l; long d = 17654321l; //帶long參數的subtractExact() System.out.println(Math.subtractExact(c, d)); // 54691357 } }
在上面的示例中,我們使用了帶有 int 和l ong 變量的Math.subtractExact()方法來計算差值。
如果差值的結果溢出數據類型,則方法excludeExact()會引發(fā)異常。 也就是說,結果應在指定變量的數據類型范圍內。
import java.lang.Math; class Main { public static void main(String[] args) { //創(chuàng)建int變量。 //最大int值 int a = 2147483647; int b = -1; //帶int參數的subtractExact() //引發(fā)異常 System.out.println(Math.subtractExact(a, b)); } }
在上述實例中,a的值是最大int值和b的值是-1。當我們減去a和時b,
2147483647 - (-1) => 2147483647 + 1 => 2147483648 //超出int類型的范圍
因此,subtractExact()方法引發(fā)整數溢出異常。