0: iconst_0 // положить на стек 0
1: istore_1 // сохранение значения в переменную 1
2: iload_1 // положить на стек значение из переменной 1
3: iinc 1, 1 // увеличение значения переменной с индексом 1 на 1
6: istore_1 // сохранение значения 0 в переменную 1
7: return
相当于
首先,分配旧值,完成递增,分配旧值 - 所以循环
x = 0永远是无止境的。x++递增x并返回旧值(即0)。x =重新分配旧值。并x再次变得平等0。在下一次迭代中,一切都会重复;最后
x总会有0在调试器中查看。
如果我们考虑从表达式生成的字节码:
然后我们得到以下内容:
这相当于:
因为你有后缀自增,也就是先赋值再自增。要工作,您需要使用前缀增量
++x谷歌关于后缀和前缀递增/递减之间的区别。