English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O método Java Math negateExact() inverte o sinal do número especificado e retorna ele.
sintaxe do método negateExact():
Math.negateExact(num)
atençãonegateExact() é um método estático. Portanto, podemos usar o nome da classe Math para acessar esse método.
num - parâmetro a ter seu sinal invertido
atençãoo tipo de dados do parâmetro deve ser int ou long.
retorna o valor após inverter o sinal do parâmetro especificado
class Main { public static void main(String[] args) { //criar variável inteira int a = 65; int b = -25; //NegateExact() com parâmetro int System.out.println(Math.negateExact(a)); // -65 System.out.println(Math.negateExact(b)); // 25 //criar variável long long c = 52336L; long d = -445636L; //NegateExact() com parâmetro long System.out.println(Math.negateExact(c)); // -52336 System.out.println(Math.negateExact(d)); // 445636 } }
No exemplo acima, usamos o método Math.negateExact() com variáveis int e long para inverter os sinais de cada variável.
Se o resultado da negação exceder o tipo de dados, o método negateExact() lançará uma exceção. Isso significa que o resultado deve estar dentro do intervalo do tipo de dados da variável especificada.
class Main { public static void main(String[] args) { //criar variável int. //valor minimo int int a = -2147483648; //NegateExact() com parâmetro int. //lança exceção System.out.println(Math.negateExact(a)); } }
No exemplo acima, o valor de a é o valor mínimo do tipo int. Aqui, o método negateExact() altera o sinal da variável a.
-(a) => -(-2147483648) => 2147483648 // Fora do intervalo do tipo int
Portanto, o método negateExact() gera uma exceção de overflow do tipo integer.