Java Math subtractExact ()

Metóda Java Math subtractExact () odčíta zadané čísla a vráti ich.

Syntax subtractExact()metódy je:

 Math.subtractExact(num1, num2)

Tu subtractExact()je statická metóda. Z toho dôvodu sme sa v prístupe k metódu pomocou názvu triedy, Math.

parametre subtractExact ()

subtractExact()Metóda má dva parametre.

  • num1 - hodnota, od ktorej sa odpočíta num2
  • num2 - hodnota, ktorá sa odpočíta od num1

Poznámka : Dátový typ oboch hodnôt by mal byť buď intalebo long.

subtractExact () návratová hodnota

  • vráti rozdiel medzi num1 a num2

Prí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 ) )

Vo vyššie uvedenom príklade sme použili Math.subtractExact()metódu s inta longpremenných pre výpočet rozdielu.

Príklad 2: Math.subtractExact () vyvolá výnimku

Metóda subtractExact()vyvolá výnimku, ak výsledok rozdielu pretečie dátovým typom. To znamená, že výsledok by mal byť v rozsahu dátového typu zadaných premenný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)); ) )

Vo vyššie uvedenom príklade je hodnota a maximálnou inthodnotou a hodnotou b -1 . Keď odčítame a a b,

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

Preto subtractExact()metóda vyvolá integer overflowvýnimku.

Odporúčané návody

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

Zaujímavé články...