English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java математические методы Math
Метод Java Math negateExact() инвертирует знак указанного числа и возвращает его.
Синтаксис метода negateExact():
Math.negateExact(num)
Внимание: negateExact() является статическим методом. Поэтому мы можем использовать имя класса Math для доступа к этому методу.
num - параметр, знак которого нужно инвертировать
Внимание: тип данных параметра должен быть int или long.
Возвращает значение, инвертировав знак указанного параметра
class Main { public static void main(String[] args) { // создание переменной int int a = 65; int b = -25; // с параметром int для negateExact() System.out.println(Math.negateExact(a)); // -65 System.out.println(Math.negateExact(b)); // 25 // создание переменной long long c = 52336L; long d = -445636L; // с параметром long для negateExact() System.out.println(Math.negateExact(c)); // -52336 System.out.println(Math.negateExact(d)); // 445636 } }
В предыдущем примере мы использовали метод Math.negateExact() с переменными int и long для инверсии знака каждого из них.
Если результат инверсии выходит за пределы типа данных, метод negateExact() вызывает исключение. Иначе говоря, результат должен быть в диапазоне данных типа переменной.
class Main { public static void main(String[] args) { // создание переменной int // минимальное значение int int a = -2147483648; // с параметром int для negateExact() // выбрасывает исключение System.out.println(Math.negateExact(a)); } }
В предыдущем примере значение a равно минимальному значению int. В данном случае метод negateExact() изменяет знак переменной a.
-(a) => -(-2147483648) => 2147483648 // за пределами диапазона типа int
Таким образом, метод negateExact() вызывает исключение integer overflow.