English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java Math的excludeExact()方法减去指定的数字并返回它。
subtractExact()方法的语法为:
Math.subtractExact(num1, num2)
注意:subtractExact()是静态方法。因此,我们可以使用Math类名来访问该方法。
num1 / num2 - 要返回其差值的第一个和第二个值
注意:这两个值的数据类型应为int 或 long。
返回两个值之间的差
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 和 long 变量的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)); } }
Nell'esempio sopra, il valore di a è il valore massimo dell'int e il valore di b è-1Quando sottraiamo a e b
2147483647 - (-1) => 2147483647 + 1 => 2147483648 //Oltre al raggio del tipo int
Quindi, il metodo subtractExact() provoca un'eccezione di overflow intero.