不,改变循环的类型并不重要。
唯一能让速度更快的方法是减少循环嵌套,循环
循环与循环之间的唯一区别是 code> loop是定义它们的语法。没有任何性能差异。 int i = 0; while(i <20){ // do stuff i ++; $ / code $ / $ p $ b相同:
for(int i = 0; i <20; i ++){ // do Stuff }(实际上,for循环更好一些,因为 i 将不在循环之后, i 将继续在而循环的情况下)。 循环仅仅是一个语法上更漂亮的循环方式。
Assume i have the following code, there are three for loop to do something. Would it run fast if i change the most outer for loop to while loop? thanks~~
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]; } } }解决方案
No, changing the type of loop wouldn't matter.
The only thing that can make it faster would be to have less nesting of loops, and looping over less values.
The only difference between a for loop and a while loop is the syntax for defining them. There is no performance difference at all.
int i = 0; while (i < 20){ // do stuff i++; }Is the same as:
for (int i = 0; i < 20; i++){ // do Stuff }(Actually the for-loop is a little better because the i will be out of scope after the loop while the i will stick around in the while loop case.)
A for loop is just a syntactically prettier way of looping.
更多推荐
Java for循环与while循环。性能差异?
发布评论