预增量与后增量 - 循环速度

时间:2013-08-23 11:48:16

标签: java increment post-increment pre-increment

我从未看过一个教程或一些讲座,这些讲座显示了一个经典的for-loop,后面有一个增量顺序。

for (int i=0; i<array.length; i++) {}

如果使用POST增量,变量“i”将被缓存,然后才会增加!但这没有任何意义,因为命令直接结束。

在我看来,这更有意义:

for (int i=0; i<array.length; ++i) {}

如果你到现在还不明白,我会更进一步(为我的英语而烦恼):

在第一个循环中:

  1. 缓存i的实际值。 (注意:之间没有移动,所以没有理由这样做)
  2. 增量i
  3. 继续
  4. 在第二个循环中:

    1. 直接增加i
    2. 继续。
    3. 因此,第二个循环的性能更高,没有质量损失。还有其他意见吗?

1 个答案:

答案 0 :(得分:6)

在Java中,没有必要在这个级别进行思考。到目前为止,Java运行时已经远离了您在Java源代码中编写的内容,这种推理失去了任何意义。具体来说,JIT编译器会将您的代码变形为机器代码级别的无法理解。