当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Math.subtractExact()用法及代码示例


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.subtractExact() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。