Java Math subtractExact ()

O método Java Math subtractExact () subtrai os números especificados e os retorna.

A sintaxe do subtractExact()método é:

 Math.subtractExact(num1, num2)

Aqui, subtractExact()é um método estático. Portanto, estamos acessando o método usando o nome da classe Math,.

Parâmetros subtractExact ()

O subtractExact()método leva dois parâmetros.

  • num1 - valor do qual num2 é subtraído
  • num2 - valor que é subtraído de num1

Observação : o tipo de dados de ambos os valores deve ser intou long.

valor de retorno subtractExact ()

  • retorna a diferença entre num1 e num2

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

No exemplo acima, usamos o Math.subtractExact()método com as variáveis inte longpara calcular a diferença.

Exemplo 2: Math.subtractExact () lança exceção

O método subtractExact()lança uma exceção se o resultado da diferença ultrapassar o tipo de dados. Ou seja, o resultado deve estar dentro do intervalo do tipo de dados das variáveis ​​especificadas.

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

No exemplo acima, o valor de a é o intvalor máximo e o valor de b é -1 . Quando subtraímos a e b,

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

Portanto, o subtractExact()método lança a integer overflowexceção.

Tutoriais Recomendados

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

Artigos interessantes...