首页 > 解决方案 > 用更少的时间进行更多的迭代?

问题描述

我只是无事可做,开始for在 Java 中搞乱循环,所以我编写了以下函数

static int getCurrentTime() {
    return (int)System.currentTimeMillis();
}

这只是让我有时间。

现在我有我的主要功能:

public static void main(String[] args) {
    int s = 0;
    int beginTime = getCurrentTime();
    for (int j = 0; j < 2000000000; ++j)
        for (int i = 0; i < ####; ++i)
            s++;

    System.out.println("done in " + (getCurrentTime() - beginTime)+
                       " milliseconds!");
}

现在,当我将 1 放在 #### 的位置时,我得到以下输出

done in 4118 milliseconds!

但是当我将 3 放在 #### 的位置时,我得到以下输出

done in 11 milliseconds!

这怎么可能?更多的迭代如何花费更少的时间?我真的对这里发生的事情感到困惑。

标签: javaloopsiteration

解决方案


推荐阅读