publicstaticvoidmain(String[] args){long startA = 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.println("如果有一天,你还会选者学Java吗?");}}}
System.out.println("原始代码耗时#"+(System.nanoTime()- startA));}
for(int i =0; i <10; i++){for(int j =0; j <100; j++){for(int k =0; k <1000; k++){
system.out.println(i+"====="+j+"====="+k);}}}
变量
实例化(次数)
初始化(次数)
比较(其实就是循环次数)
自增(次数)
i
1
1
10
10
j
10
10
10 * 100
10*100
K
10* 100
10 * 100
10 * 100 * 1000
10 * 100 * 1000
代码测试(不同电脑配置测试速度也不同):
publicstaticvoidmain(String[] args){long startA = System.nanoTime();for(int i =0;i <10;i++){for(int j =0;j <100;j++){for(int k =0; k <1000;k++){
System.out.println("如果有一天,你还会选者学Java吗?");}}}
System.out.println("方案一代码耗时:"+(System.nanoTime()- startA));}
测试次数
耗时
1
方案一代码耗时: 2581724052
2
方案一代码耗时:2702852811
3
方案一代码耗时: 2470141709
4
方案一代码耗时: 2719785205
5
方案一代码耗时: 2438990457
该方案在方案一的基础上,将循环变量的实例化放到循环外,这样可以进一步减少相关循环变量的实例化次数。
代码如下:
int i,j,k;for( i =0; i <10; i++){for( j =0; j <100; j++){for( k =0; k <1000; k++){
system.out.println(i+"====="+j+"====="+k);}}}
变量
实例化(次数)
初始化(次数)
比较(其实就是循环次数)
自增(次数)
i
1
1
10
10
j
1
10
10 * 100
10*100
K
1
100 * 10
10 * 100 * 1000
10 * 100 * 1000
代码测试(不同电脑配置测试速度也不同):
publicstaticvoidmain(String[] args){int i, j, k;long startA = System.nanoTime();for(i =0; i <10; i++){for(j =0; j <100; j++){for(k =0; k <1000; k++){
System.out.println("如果有一天,你还会选者学Java吗?");}}}
System.out.println("方案二代码耗时:"+(System.nanoTime()- startA));}