Объясните логику куска кода на Java

int x = 5;
System.out.println(x > 2 ? x < 4 ? 10 : 8 : 7);

Проходил один тест, столкнулся с вот такой вот задачей(нужно было ответить, что получится в итоге) Скопировал код, запустил - выдало 8. Сижу и не могу понять логики кода.


Ответы (1 шт):

Автор решения: ILYCH

В данной строке кода используются 2 тернарных оператора(выражение ? true : false). Если расставить скобки, то все становиться понятно:

(x > 2 ? (x < 4 ? 10 : 8) : 7)
→ Ссылка