抱歉,我想不出更好的标题。
无论如何,当我编译以下代码时:
class Example{
public static void main(String[] args) throws Exception {
int x = 3;
x -= 2 + x++ == 4 ? x++ : ++x;
System.out.println("x = " + x);
}
}
我得到答案-2。现在我真的很想知道这个答案是怎么来的,因为我找不到。如果我能得到答案,那就太棒了,因为这可能是我很快就会参加的考试。注意:我当然不会自己编写这样的代码,这只是一个练习。
如果你能帮助我,非常感谢!
编辑:回答 fge 的回答:
好的谢谢!但现在如果我稍微改变一下,让它像这样:
x = 2;
x += 3 + ++x == 6 ? x-- : x--;
System.out.println("x = " + x);
我认为你会得到以下信息:
++x == 6
不是真的,因为 x 现在是 3。这意味着我们得到 x--,现在又变成 2。
然后我们得到 3 + 2 = 5,所以表达式可以计算为:
x += 5
因为 x 现在是 2,所以我们得到 2 + 5 = 7。