Java问题
int x=7,y=5;
x-=x++ + y + --y + ++x +10;
System.out.println(x);
为什么输出-28?
我以为答案是-26 由于简写运算符必须具有最低优先级,因此在评估整个右侧之后,它不应该使用 x 的最终值吗?
因为
x -= x++ + y + --y + ++x + 10;
是
的“简写”x = x - x++ + y + --y + ++x + 10;
并且将从左到右评估,如下:
x = 7 - 7 + 5 + 4 + 9 + 10;