Java Math multiplyExact ()

El método multiplyExact () de Java Math multiplica los números especificados y los devuelve.

La sintaxis del multiplyExact()método es:

 Math.multiplyExact(num1, num2)

Aquí multiplyExact()hay un método estático. Por lo tanto, estamos accediendo el método que utiliza el nombre de clase, Math.

MultiplyExact () Parámetros

El multiplyExact()método toma dos parámetros.

  • num1 - valor que se multiplica por num2
  • num2 - valor que se multiplica por num1

Nota : El tipo de datos de ambos valores debe ser into long.

multiplyExact () Valor devuelto

  • devuelve el producto de num1 y num2

Ejemplo 1: Java Math multiplyExact ()

 import java.lang.Math; class Main ( public static void main(String() args) ( // create int variable int a = 5; int b = 6; // multiplyExact() with int arguments System.out.println(Math.multiplyExact(a, b)); // 30 // create long variable long c = 7236L; long d = 1721L; // multiplyExact() with long arguments System.out.println(Math.multiplyExact(c, d)); // 12453156 ) )

En el ejemplo anterior, hemos utilizado el Math.multiplyExact()método con las variables inty longpara calcular el producto de los números respectivos.

Ejemplo 2: Math multiplyExact () lanza una excepción

El multiplyExact()método lanza una excepción si el resultado de la multiplicación 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 = 2; // multiplyExact() with int arguments // throws exception System.out.println(Math.multiplyExact(a, b)); ) )

En el ejemplo anterior, el valor de a es el intvalor máximo y el valor de b es 2 . Cuando multiplicamos ayb,

  2147483647 * 2 => 4294967294 // out of range of int type 

Por lo tanto, el multiplyExact()método arroja la integer overflowexcepción.

Tutoriales recomendados

  • Math.addExact ()
  • Math.subtractExact ()

Articulos interesantes...