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)