for(int i=0;i<1000;i++){
for(int j=0;j<100;j++){
for(int k =0;k<10;k++){
function(i,j,k);
}
}
}
要求對於以上嵌套循環進行優化
依然按照操作時間進行性能判斷
public static void main(String[] args) {
System.out.println(stayTime1());
System.out.println(stayTime2());
System.out.println(stayTime3());
System.out.println(stayTime4());
}
public static long stayTime1(){
long start = System.nanoTime();
for(int i=0;i<1000;i++){
for(int j=0;j<100;j++){
for(int k =0;k<10;k++){
System.out.print("");
}
}
}
return System.nanoTime()-start;
}
public static long stayTime2(){
long start = System.nanoTime();
for(int k=0;k<10;k++){
for(int j=0;j<100;j++){
for(int i =0;i<1000;i++){
System.out.print("");
}
}
}
return System.nanoTime()-start;
}
public static long stayTime3(){
long start = System.nanoTime();
int k,i,j;
for( k=0;k<10;k++){
for( j=0;j<100;j++){
for( i =0;i<1000;i++){
System.out.print("");
}
}
}
return System.nanoTime()-start;
}
public static long stayTime4(){
long start = System.nanoTime();
int k=0,i=0,j=0;
for(;k<10;k++){
for(;j<100;j++){
for(;i<1000;i++){
System.out.print("");
}
}
}
return System.nanoTime()-start;
}
最終輸出結果爲:
109976404
91822919
72580384
115655
可以發現第四種方法可以最大限度的提高運算效率。