【发布时间】:2012-09-28 14:12:41
【问题描述】:
我的代码:
public void mysterious() {
int x = 1;
x = x++ / ++x;
System.out.println(x);
}
答案是什么?
【问题讨论】:
-
我总是按预期得到
0,所以我不知道你为什么会得到2。 -
我正要说 0,你得到 1 / 3 这是 0.33,当转换为 int(在这种情况下)是 0。
-
1 / 3在整数除法中为 0,无需强制转换。 ;) -
简单的方法是用这个替换你的表达式:
x = x / (2 + x) // x++ / ++x
标签: java