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