Троичная операция с "отрицательной" переменной

Что отрицательная переменная делает в троичной? Почему выход -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 остается неизменным

Другие вопросы по тегам