Троичная операция с "отрицательной" переменной
Что отрицательная переменная делает в троичной? Почему выход -10 is 10
?
public class Ternary {
public static void main(String[] args) {
int i, k;
i = -10;
k = i < 0 ? -i : i;
System.out.print(i + " is " + k);
}
}
Кто-нибудь может объяснить функцию переменной в этом сценарии? Что значит -i
имею в виду?
2 ответа
Решение
Это унарная операция -(-(1))
является 1
, Это более длинный способ написать
int i = -10, k = Math.abs(i);
Сначала проверяет
-10 < 0, что оказывается правдой.
Таким образом, 'k' будет присвоено значение -(-10) как i = -10. Результат становится 10.
Тогда у вас есть ответ
-10 равно 10, так как значение i остается неизменным