java中for和while循环_Java for循环与while循环 性能差异?

假设我有以下代码,有3个for循环可以执行某些操作。 如果我将最外部的for循环更改为while循环,它将运行得很快吗? 谢谢~~

int length = 200;

int test = 0;

int[] input = new int[10];

for(int i = 1; i <= length; i++) {

for (int j = 0; j <=length - i; j++) {

for (int k = 0; k < length - 1; k++) {

test = test + input[j + k];

}

}

}

它会优化以测试= 0; 因为未填充数组,所以test = test + input [j + k]; 将始终为零。

时间到了! 还有idk java,但我在perl中知道,在读取文件的情况下,C风格的循环比while循环特别慢。

不,更改循环的类型无关紧要。

唯一可以使其更快的方法是减少循环的嵌套,并减少循环的值。

for循环和while循环之间的唯一区别是定义它们的语法。根本没有性能差异。

int i = 0;

while (i < 20){

// do stuff

i++;

}

是相同的:

for (int i = 0; i < 20; i++){

// do Stuff

}

(实际上,for循环要好一些,因为i将在循环后超出范围,而i将在while循环情况下停留。)

for循环只是语法上更漂亮的循环方式。

您可以在i周围添加范围,以在完成操作后将其从堆栈中剔除:D

实际上,由于continue的行为,for循环和while循环略有不同。增量将始终在for循环中发生,而while循环中的继续执行将跳过它,从而导致循环永远继续下去。

为什么这不是正确的答案?恕我直言,这完全解释了如何使用这些循环。

这种微优化是没有意义的。

一会儿循环不会更快。

循环结构不是您的瓶颈。

首先优化算法。

更好的是,不要先进行优化。只有在发现算法中确实存在不依赖I / O的瓶颈后,才进行优化。

您无法通过将其更改为while来对其进行优化。

您可以通过更改直线来非常非常非常非常快地提高速度

f

你可能感兴趣的:(java中for和while循环_Java for循环与while循环 性能差异?)