题目
1 |
|
解释
1 |
|
so in “n = n ++;”, n always equals temp , always equals 0;
说明了“先赋值后自增”有问题,或许是理解问题或许是表述问题,也可能是实现问题。
赋值给自身,导致无法自增。
另外,反汇编发现自增操作好像发生在赋值操作之前。
是的,自增是发生在赋值之前,但是赋值的时候不是取的自增后的值。
(应该是产生了一个中间变量,javap 可以查看class 字节码)
来自 https://gitee.com/oschina/bullshit-codes/blob/master/java/BadCode.java