我在这个网站上遇到了这个问题,尝试在Eclipse中使用但是不太明白它们是如何被评估的。
int x = 3, y = 7, z = 4;
x += x++ * x++ * x++; // gives x = 63
System.out.println(x);
y = y * y++;
System.out.println(y); // gives y = 49
z = z++ + z;
System.out.println(z); // gives z = 9
根据网站上的评论,x += x++ * x++ * x++ 的值为 x = x+((x+2)*(x+1)*x),经证实是正确的。我认为我对于这个运算符的优先级有所遗漏。
x += 3 * 4 * 5; = 3 + 60 = 63
;y = 7 * 7 = 49
,z = 4 + 5 = 9
x += 3 * 4 * 5; = 3 + 60 = 63
;y = 7 * 7 = 49
,z = 4 + 5 = 9
- NullUserException