Математика Java subtractExact ()

Метод Java Math subtractExact () вычитает указанные числа и возвращает их.

Синтаксис subtractExact()метода:

 Math.subtractExact(num1, num2)

Вот subtractExact()статический метод. Следовательно, мы получаем доступ к методу, используя имя класса Math.

subtractExact () Параметры

subtractExact()Метод принимает два параметра.

  • num1 - значение, из которого вычитается num2
  • num2 - значение, которое вычитается из num1

Примечание . Тип данных обоих значений должен быть либо intили long.

subtractExact () Возвращаемое значение

  • возвращает разницу между num1 и num2

Пример 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 ) )

В приведенном выше примере, мы использовали Math.subtractExact()метод с intи longпеременных для вычисления разности.

Пример 2: Math.subtractExact () выдает исключение

Метод subtractExact()выдает исключение, если результат разницы выходит за пределы типа данных. То есть результат должен быть в пределах диапазона типа данных указанных переменных.

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

В приведенном выше примере значение a является максимальным intзначением, а значение b равно -1 . Когда мы вычитаем a и b,

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

Следовательно, subtractExact()метод вызывает integer overflowисключение.

Рекомендуемые учебные пособия

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

Интересные статьи...