📜  Java数学 negateExact() 方法

📅  最后修改于: 2022-05-13 01:54:46.586000             🧑  作者: Mango

Java数学 negateExact() 方法

Java .lang.Math.negateExact() 是Java中的一个内置函数,它返回参数的否定,如果结果溢出指定的数据类型 long 或 int 则抛出异常,具体取决于在方法论据。当数据类型 int 的最小值为 -2147483648 和最大值为 2147483647 时,它会引发错误。因此,如果我们否定 -2147483648,结果将是 2147483648,它已经超出了最大值。

句法:

int negateExact(int num)
long negateExact(long num)

参数:该函数接受一个参数,如上所示并解释如下:

  • num -此参数指定必须返回其否定的数字。

返回值:函数返回参数的否定,如果结果溢出指定的数据类型(long 或 int)则抛出异常,具体取决于方法参数上使用的数据类型

例子:

Input : 12
Output : -12

Input : -2
Output : 2 

程序 1:下面的程序演示了 negateExact() 方法的工作。

// Java program to demonstrate working
// of java.lang.Math.negateExact() method
import java.lang.Math;
  
class Gfg1 {
  
    // driver code
    public static void main(String args[])
    {
  
        int y = 10;
        System.out.println(Math.negateExact(y));
  
        int x = -12;
        System.out.println(Math.negateExact(x));
    }
}

输出:

-10
12

程序2:下面的程序演示了negateExact()方法的溢出。

// Java program to demonstrate overflow
// of java.lang.Math.negateExact() method
import java.lang.Math;
  
class Gfg1 {
  
    // driver code
    public static void main(String args[])
    {
  
        int y = Integer.MIN_VALUE;
        System.out.println(Math.negateExact(y));
    }
}

输出:

Exception in thread "main" java.lang.ArithmeticException: integer overflow
    at java.lang.Math.negateExact(Math.java:977)
    at Gfg1.main(File.java:12)