也许我错过了但我无法弄清楚为什么我在这段代码中得到结果2:
i = 1;
i = i-- - --i;
System.out.println(i);
答案 0 :(得分:3)
在i = i-- - --i
中你有:
i--
,后递减,它会检索i
(1
)的当前值,然后将i
递减到{{ 1}} 0
-
,预递减,再次递减--i
并检索更新后的值i
所以最终得到-1
i = 1 - -1
。
毋庸置疑,这种事情出现在(愚蠢的)Java测试等等,但不应出现在生产代码中。