java.lang.Math.negateExact() es una función incorporada en Java que devuelve la negación del argumento, lanzando una excepción si el resultado desborda el tipo de datos especificado, ya sea long o int, según el tipo de datos que se haya utilizado en el argumento del método. Lanza un error cuando un tipo de datos int tiene un valor mínimo de -2147483648 y un valor máximo de 2147483647. Entonces, si negamos -2147483648, el resultado sería 2147483648, que ya está más allá del valor máximo.
Sintaxis:
int negateExact(int num) long negateExact(long num)
Parámetros: la función acepta un solo parámetro como se muestra arriba y se explica a continuación:
- num: este parámetro especifica el número cuya negación debe devolverse.
Valor devuelto: la función devuelve la negación del argumento, lanzando una excepción si el resultado desborda el tipo de datos especificado, ya sea long o int, según el tipo de datos que se haya utilizado en el argumento del método.
Ejemplos:
Input : 12 Output : -12 Input : -2 Output : 2
Programa 1: El siguiente programa demuestra el funcionamiento del método 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)); } }
Producción:
-10 12
Programa 2: El siguiente programa demuestra el desbordamiento del método 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)); } }
Producción:
Exception in thread "main" java.lang.ArithmeticException: integer overflow at java.lang.Math.negateExact(Math.java:977) at Gfg1.main(File.java:12)