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
可以发现第四种方法可以最大限度的提高运算效率。