Java Math subtractExact ()

Metoda Java Math subtractExact () odečte zadaná čísla a vrátí je.

Syntaxe subtractExact()metody je:

 Math.subtractExact(num1, num2)

Zde subtractExact()je statická metoda. Z toho důvodu jsme se v přístupu k metodu pomocí názvu třídy, Math.

subtractExact () parametry

subtractExact()Metoda má dva parametry.

  • num1 - hodnota, od které se odečte num2
  • num2 - hodnota, která je odečtena od num1

Poznámka : Datový typ obou hodnot by měl být buď intnebo long.

subtractExact () návratová hodnota

  • vrátí rozdíl mezi num1 a num2

Příklad 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 ) )

Ve výše uvedeném příkladu jsme použili Math.subtractExact()metodu s inta longproměnných pro výpočet rozdílu.

Příklad 2: Math.subtractExact () vyvolá výjimku

Metoda subtractExact()vyvolá výjimku, pokud výsledek rozdílu přeteče datový typ. To znamená, že výsledek by měl být v rozsahu datového typu zadaných proměnných.

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

Ve výše uvedeném příkladu je hodnota a maximální inthodnota a hodnota b je -1 . Když odečteme a a b,

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

Proto subtractExact()metoda vyvolá integer overflowvýjimku.

Doporučené výukové programy

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

Zajímavé články...