все их значения были оценены.

читал из официального руководства по Java, что префикс и постфикс ++ имеют разные приоритеты:

постфикс: expr ++ expr--

унарный: ++ expr --expr + expr -expr ~!

операторы

Согласно учебнику, не должно ли это

d = 1; System.out.println(d++ + ++d);

распечатать 6 (d++ составляет d 2,++d делает это 3) вместо 4?

Я знаю объяснение++d оценивается заранее, но еслиd++ имеет более высокий приоритет, чем++dпочему нетd++ быть первым оцененным? И более того, в каком случае следуетd++ показывает, что у него более высокий приоритет?

РЕДАКТИРОВАТЬ:

Я попробовал следующее:

d = 1; System.out.println(++d * d++);

Возвращает 4. Кажется, что оно должно быть 2 * 2 вместо 1 * 3.

Ответы на вопрос(10)

Ваш ответ на вопрос