一个 for 循环的问题 for (int n = -1; n != 0; n++) { n = 0; } 那么问题来了: 这个循环的执行情况如何?会结束吗?由此引出另一个问题,n++ 是在什么时候执行的? 分析 咋一看,这个循环会结束,但其实这个死循环会一直执行下去。通过 jclasslib 来看看字节码信息: 重点是下面这句: iinc 1 by 1 # Increment local variable by constant 也就是说,自增长语句是在循环体完成后才执行的。