我生成了两个矩阵 1000
X 1000
:
第一矩阵: O
和 #
。
第二个矩阵: O
和 B
。
使用以下代码,第一个矩阵需要8.52秒才能完成:
Random r = new Random();
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
if(r.nextInt(4) == 0) {
System.out.print("O");
} else {
System.out.print("#");
}
}
System.out.println("");
}
使用此代码,第二个矩阵需要259.152秒才能完成:
Random r = new Random();
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
if(r.nextInt(4) == 0) {
System.out.print("O");
} else {
System.out.print("B"); //only line changed
}
}
System.out.println("");
}
运行时间大不相同的原因是什么?
正如评论中所建议的那样,仅打印 System.out.print("#");
需要 7.8871
秒,而 System.out.print("B");
给 still printing...
。
正如其他人指出它通常适合他们一样,我试过了 Ideone.com 例如,两段代码以相同的速度执行。
测试条件:
- 我跑了这个测试 Netbeans 7.2,输出到其控制台
- 我用了
System.nanoTime()
用于测量