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 int
ou 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 int
e long
para 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 int
valor 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 overflow
exceção.
Tutoriais Recomendados
- Math.addExact ()
- Math.multiplyExact ()