Почему здесь не следует приоритет оператора? [дублировать]JAVA

Программисты JAVA общаются здесь
Anonymous
Почему здесь не следует приоритет оператора? [дублировать]

Сообщение Anonymous »

В этом коде: < /p>

Код: Выделить всё

int y = 10;
int z = (++y * (y++ + 5));
< /code>

 Что я ожидал < /strong> < /p>

Сначала y +++ 5 < /code> будет казнен из -за приоритета внутренних скобок. Таким образом, значение y 
будет 11, и значение этого выражения будет 15. Тогда ++ y * () будет выполнено. Итак, 12 * 15 = 180. Итак, z = 180 < /p>

Что я получил < /strong> < /p>

z = 176 < /p>

Это означает, что виртуальная машина идет слева направо, не следуя приоритету оператора. Так что мое понимание приоритета оператора неправильно?


Подробнее здесь: https://stackoverflow.com/questions/291 ... lowed-here

Вернуться в «JAVA»