Java Math soustractExact ()

La méthode Java Math subtractExact () soustrait les nombres spécifiés et les renvoie.

La syntaxe de la subtractExact()méthode est:

 Math.subtractExact(num1, num2)

Voici subtractExact()une méthode statique. Nous sommes donc accédons la méthode en utilisant le nom de classe, Math.

Paramètres soustractExact ()

La subtractExact()méthode prend deux paramètres.

  • num1 - valeur dont num2 est soustrait
  • num2 - valeur qui est soustraite de num1

Remarque : le type de données des deux valeurs doit être soit intou long.

Valeur de retour soustractExact ()

  • renvoie la différence entre num1 et num2

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

Dans l'exemple ci-dessus, nous avons utilisé la Math.subtractExact()méthode avec les variables intet longpour calculer la différence.

Exemple 2: Math.subtractExact () lève une exception

La méthode subtractExact()lève une exception si le résultat de la différence dépasse le type de données. Autrement dit, le résultat doit être compris dans la plage du type de données des variables spécifiées.

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

Dans l'exemple ci-dessus, la valeur de a est la intvaleur maximale et la valeur de b est -1 . Quand on soustrait a et b,

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

Par conséquent, la subtractExact()méthode lève l' integer overflowexception.

Tutoriels recommandés

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

Articles intéressants...