Метод negateExact
Метод negateExact класса Math возвращает
число с противоположным знаком. Если исходное число
положительное - результат будет отрицательным, если
отрицательное - положительным. Метод принимает один
параметр: число, знак которого нужно изменить. Если
результат операции не помещается в диапазон типа
данных (например, при попытке изменить знак у
минимального значения int или long),
метод выбрасывает исключение ArithmeticException.
Метод перегружен и работает с типами int
и long.
Синтаксис
Math.negateExact(value)
Пример
Давайте изменим знак у положительного числа 5:
public class Main
{
public static void main(String[] args)
{
int res = Math.negateExact(5);
System.out.println(res);
}
}
Результат выполнения кода:
-5
Пример
Давайте изменим знак у отрицательного числа -3:
public class Main
{
public static void main(String[] args)
{
int res = Math.negateExact(-3);
System.out.println(res);
}
}
Результат выполнения кода:
3
Пример
Давайте попробуем изменить знак у минимального
значения типа int. Так как число 2147483648
не помещается в тип int, метод выбросит
исключение:
public class Main
{
public static void main(String[] args)
{
try
{
int res = Math.negateExact(Integer.MIN_VALUE);
System.out.println(res);
}
catch (ArithmeticException e)
{
System.out.println("ArithmeticException: overflow");
}
}
}
Результат выполнения кода:
"ArithmeticException: overflow"
Пример
Давайте изменим знак у числа типа long:
public class Main
{
public static void main(String[] args)
{
long res = Math.negateExact(12345L);
System.out.println(res);
}
}
Результат выполнения кода:
-12345
Смотрите также
-
класс
Math,
который содержит математические методы -
метод
abs,
который возвращает модуль числа -
метод
addExact,
который выполняет сложение с проверкой переполнения -
метод
multiplyExact,
который выполняет умножение с проверкой переполнения