SubstractExact de Java Math ()

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 into 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 inty longpara 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 intvalor 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 overflowexcepción.

Tutoriales recomendados

  • Math.addExact ()
  • Math.multiplyExact ()

Articulos interesantes...