Java中的后缀和前缀运算符的行为不同
基于甲骨文:Operator Doc Oracle
后缀incr和decr运算符的偏好高于前缀运算符
但当我尝试这个例子时:
int x = 1;
System.out.println(++x * x++); // prints 4
x=1;
System.out.println(x++ * ++x); // prints 3
如果我们按照操作符的优先级进行,那么输出应该是:3 and 3
,而不是4 and 3
感谢您的帮助
你可以在下面搜索框中键入要查询的问题!
基于甲骨文:Operator Doc Oracle
后缀incr和decr运算符的偏好高于前缀运算符
但当我尝试这个例子时:
int x = 1;
System.out.println(++x * x++); // prints 4
x=1;
System.out.println(x++ * ++x); // prints 3
如果我们按照操作符的优先级进行,那么输出应该是:3 and 3
,而不是4 and 3
感谢您的帮助
# 1 楼答案
这是唯一的增量后/增量前元素:
预增量:增加值,并使用新值进行计算
增量后:记住用于此计算的旧值,然后增量