El método subtractExact () de Java Math resta los números especificados y los devuelve.
La sintaxis del subtractExact()
método es:
Math.subtractExact(num1, num2)
Aquí subtractExact()
hay un método estático. Por lo tanto, estamos accediendo el método que utiliza el nombre de clase, Math
.
SubtractExact () Parámetros
El subtractExact()
método toma dos parámetros.
- num1 - valor del cual se resta num2
- num2 - valor que se resta de num1
Nota : El tipo de datos de ambos valores debe ser int
o long
.
subtractExact () Valor devuelto
- devuelve la diferencia entre num1 y num2
Ejemplo 1: Java Math.subtractExact ()
import java.lang.Math; class Main ( public static void main(String() args) ( // create int variable int a = 54; int b = 30; // subtractExact() with int arguments System.out.println(Math.subtractExact(a, b)); // 24 // create long variable long c = 72345678l; long d = 17654321l; // subtractExact() with long arguments System.out.println(Math.subtractExact(c, d)); // 54691357 ) )
En el ejemplo anterior, hemos utilizado el Math.subtractExact()
método con las variables int
y long
para calcular la diferencia.
Ejemplo 2: Math.subtractExact () lanza una excepción
El método subtractExact()
genera una excepción si el resultado de la diferencia desborda el tipo de datos. Es decir, el resultado debe estar dentro del rango del tipo de datos de las variables especificadas.
import java.lang.Math; class Main ( public static void main(String() args) ( // create int variable // maximum int value int a = 2147483647; int b = -1; // subtractExact() with int arguments // throws exception System.out.println(Math.subtractExact(a, b)); ) )
En el ejemplo anterior, el valor de a es el int
valor máximo y el valor de b es -1 . Cuando restamos ayb,
2147483647 - (-1) => 2147483647 + 1 => 2147483648 // out of range of int type
Por lo tanto, el subtractExact()
método arroja la integer overflow
excepción.
Tutoriales recomendados
- Math.addExact ()
- Math.multiplyExact ()