byte x = 0;
byte y = (--x<0) ? ++x : -x;
System.out.println(y);
Результатом выполнения кода будет:
Explanation
В данном случае всё выражение будет приведено к типу int, т.к. тип третьего операнда в тернарной операции вследствие отрицания будет int. Поэтому для успеха компиляции необходимо явное преобразование.

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes