为什么打印“B”比打印“#”慢得多?
2022-08-31 01:21:54
我生成了两个 x 矩阵:1000
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()