Java Math subtractExact ()

Il metodo Java Math subtractExact () sottrae i numeri specificati e li restituisce.

La sintassi del subtractExact()metodo è:

 Math.subtractExact(num1, num2)

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

subtractExact () Parametri

Il subtractExact()metodo accetta due parametri.

  • num1 - valore da cui viene sottratto num2
  • num2 - valore che viene sottratto da num1

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

subtractExact () Valore restituito

  • restituisce la differenza tra num1 e num2

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

Nell'esempio sopra, abbiamo utilizzato il Math.subtractExact()metodo con le variabili inte longper calcolare la differenza.

Esempio 2: Math.subtractExact () genera un'eccezione

Il metodo subtractExact()genera un'eccezione se il risultato della differenza 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 = -1; // subtractExact() with int arguments // throws exception System.out.println(Math.subtractExact(a, b)); ) )

Nell'esempio precedente, il valore di a è il intvalore massimo e il valore di b è -1 . Quando sottraiamo aeb,

  2147483647 - (-1) => 2147483647 + 1 => 2147483648 // out of range of int type

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

Tutorial consigliati

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

Articoli interessanti...