Java for循环与while循环。性能差异? [英] Java for loop vs. while loop. Performance difference?

查看:291
本文介绍了Java for循环与while循环。性能差异?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有下面的代码,有三个for循环来做一些事情。如果我将最外层的循环更改为while循环,会运行得更快吗?谢谢~~

  int length = 200; 
int test = 0;
int [] input = new int [10]; (int i = 1; i <= length; i ++){
for(int j = 0; j <= length-i; j ++){


for(int k = 0; k test = test + input [j + k];




$ div class =h2_lin>解决方案

不,改变循环的类型并不重要。

唯一能让速度更快的方法是减少循环嵌套,循环



循环与循环之间的唯一区别是 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循环。性能差异?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆