Java Math multiplyExact ()

Il metodo Java Math multiplyExact () moltiplica i numeri specificati e li restituisce.

La sintassi del multiplyExact()metodo è:

 Math.multiplyExact(num1, num2)

Ecco multiplyExact()un metodo statico. Quindi, stiamo accedendo il metodo che utilizza il nome della classe, Math.

Parametri multiplyExact ()

Il multiplyExact()metodo accetta due parametri.

  • num1 - valore che viene moltiplicato per num2
  • num2 - valore che viene moltiplicato per num1

Nota : il tipo di dati di entrambi i valori deve essere into long.

multiplyExact () Valore restituito

  • restituisce il prodotto di num1 e num2

Esempio 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 ) )

Nell'esempio sopra, abbiamo utilizzato il Math.multiplyExact()metodo con le variabili inte longper calcolare il prodotto dei rispettivi numeri.

Esempio 2: Math multiplyExact () genera un'eccezione

Il multiplyExact()metodo genera un'eccezione se il risultato della moltiplicazione supera il tipo di dati. Ovvero, il risultato dovrebbe essere compreso nell'intervallo del tipo di dati delle variabili specificate.

 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)); ) )

Nell'esempio sopra, il valore di a è il intvalore massimo e il valore di b è 2 . Quando moltiplichiamo aeb,

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

Quindi, il multiplyExact()metodo genera l' integer overfloweccezione.

Tutorial consigliati

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

Articoli interessanti...