【发布时间】:2012-08-15 17:07:41
【问题描述】:
int z = 1;
System.out.println(z++ == ++z);
System.out.println(++z == z++);
输出将是:
false
true
我不明白为什么,请给我解释一下。
【问题讨论】:
-
@DaoWen 不完全是重复的——当一条语句包含多个前置/后置增量运算符时,每个操作数的执行顺序才是最重要的(假设人们了解单个 ++x 与x++)。您指向的问题使用加法运算符(恰好也是左关联),而不是相等运算符。
-
@assylias - 我想这是真的。我认为“解释 Java 中 post 和 pre increment 运算符的工作”是这个问题的更好标题。 :)
标签: java post-increment pre-increment