Java Math 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)