相关疑难解决方法(0)

为什么在for循环的迭代部分不改变pre到post的增量会有所不同?

为什么这样呢

 int x = 2;
    for (int y =2; y>0;y--){
        System.out.println(x + " "+ y + " ");
        x++;
    }
Run Code Online (Sandbox Code Playgroud)

打印与此相同?

 int x = 2;
        for (int y =2; y>0;--y){
            System.out.println(x + " "+ y + " ");
            x++;
        }
Run Code Online (Sandbox Code Playgroud)

到目前为止,正如我所理解的那样,首先使用"按原样"增加后增量.是否先添加预增量然后再使用.为什么这不适用于for循环的主体?

java post-increment

38
推荐指数
6
解决办法
2万
查看次数

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

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

for (int i=0; i<array.length; i++) {}
Run Code Online (Sandbox Code Playgroud)

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

在我看来,这更有意义:

for (int i=0; i<array.length; ++i) {}
Run Code Online (Sandbox Code Playgroud)

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

在第一个循环中:

  1. 缓存i的实际值.(注意:之间没有动,所以没有理由这样做)
  2. 增量我
  3. 前进

在第二个循环中:

  1. 直接增加我
  2. 前进.

所以第二个循环的性能更高,没有质量损失.还有其他意见吗?

java increment pre-increment post-increment

5
推荐指数
1
解决办法
5095
查看次数

for循环中的前后增量

在java中的for循环中执行预增量与后增量是否更高效?

示例代码:

for (int i=0; i<10; i++)
Run Code Online (Sandbox Code Playgroud)

for (int i=0; i<10; ++i)
Run Code Online (Sandbox Code Playgroud)

我注意到当我做一个预增量时,执行时间比我进行后增量时要小.为什么会出现这种情况的任何建议?谢谢.

java performance for-loop pre-increment post-increment

0
推荐指数
1
解决办法
6613
查看次数