java.lang.Math.subtractExact() 返回参数的差异。如果结果溢出 int 或 long,它将抛出异常。
用法
public static int subtractExact(int a, int b)
public static long subtractExact(long a, long b)
参数
a = the first value
b = the second value to subtract from the first
返回
It returns the difference of the arguments.
- 如果参数之一是 Integer.MIN_VALUE 或 Long.MIN_VALUE,它将抛出 ArithmeticException。
例子1
public class SubtractExactExample1
{
public static void main(String[] args)
{
long a = 732;
long b = 190;
// Input two values, Output subtraction of a and b
System.out.println(Math.subtractExact(a, b));
}
}
输出:
542
例子2
public class SubtractExactExample2
{
public static void main(String[] args)
{
int a = 352;
int b = Integer.MIN_VALUE;
// Input int overflow, Output AirthmeticException
System.out.println(Math.subtractExact(a, b));
}
}
输出:
Exception in thread "main" java.lang.ArithmeticException:integer overflow at java.lang.Math.subtractExact(Math.java:829) at SubtractExactExample2.main(SubtractExactExample2.java:8)
例子3
public class SubtractExactExample3
{
public static void main(String[] args)
{
long a = Long.MIN_VALUE;
long b = 42;
// Input long overflow, Output AirthmeticException
System.out.println(Math.subtractExact(a, b));
}
}
输出:
Exception in thread "main" java.lang.ArithmeticException:long overflow at java.lang.Math.subtractExact(Math.java:849) at SubtractExactExample3.main(SubtractExactExample3.java:8)
相关用法
- Java Math.sqrt()用法及代码示例
- Java Math.signum()用法及代码示例
- Java Math.sinh()用法及代码示例
- Java Math.sin()用法及代码示例
- Java Math.multiplyExact()用法及代码示例
- Java Math.rint()用法及代码示例
- Java Math.nextUp()用法及代码示例
- Java Math.tan()用法及代码示例
- Java Math.asin()用法及代码示例
- Java Math.atan()用法及代码示例
- Java Math.nextAfter()用法及代码示例
- Java Math.exp()用法及代码示例
- Java Math.tanh()用法及代码示例
- Java Math.toDegrees()用法及代码示例
- Java Math.getExponent()用法及代码示例
- Java Math.toIntExact()用法及代码示例
- Java Math.IEEEremainder()用法及代码示例
- Java Math.incrementExact()用法及代码示例
- Java Math.min()用法及代码示例
- Java Math.log()用法及代码示例
注:本文由纯净天空筛选整理自 Java Math.subtractExact() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。