Java for loop vs. while loop. Performance difference?

前端 未结 16 1583
长发绾君心
长发绾君心 2020-11-28 09:35

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~~

<         


        
16条回答
  •  挽巷
    挽巷 (楼主)
    2020-11-28 10:35

    You can calculate it yourself.

    int length = 200;
    int test = 0;
    int[] input = new int[10];
    
    long startTime = new Date().getTime();
    
    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];
            }
        }
    }
    
    long endTime = new Date().getTime();
    long difference = endTime - startTime;
    System.out.println("For - Elapsed time in milliseconds: " + difference);
    
    
    test = 0;
    input = new int[10];
    
    int i = 0, j = 0, k = 0;
    
    startTime = new Date().getTime();
    
    while(i < length) {
        while(j <= length - i ) {
            while(k < length - 1) {
                test = test + input[j + k];
                k++;
            }
            j++;
        }
        i++;
    }
    
    endTime = new Date().getTime();
    difference = endTime - startTime;
    System.out.println("While - Elapsed time in milliseconds: " + difference);
    

提交回复
热议问题