【发布时间】:2018-10-09 20:36:21
【问题描述】:
在计数方面,应该使用do-while 循环还是for 循环?因为这个:
class Main {
public static void main(String[] args) {
int times = 1;
do {
System.out.println("I have printed " + times + " times.");
times++;
} while (times < 6);
}
}
似乎与此完全相同:
class Main {
public static void main(String[] args) {
for (int times = 1; times < 6; times++) {
System.out.println("I have printed " + times + " times.");
}
}
}
这是速度上的差异吗?偏爱?情况?个人怪癖?某种“Java 社交禁忌”?我不知道。两者似乎都可以用于有效计数,只是需要更多。并且两者都打印确切相同的东西。
System.out.println("Many thanks!!");
【问题讨论】:
-
在某种程度上,它归结为品味。在这种情况下,我更喜欢使用 for 循环,因为声明的范围是循环,而递增是在循环体之外。然而,循环类型之间的主要区别在于
do/while循环至少执行一次,而for(或while)可能不会执行。 -
没关系。顺便说一句,使用 Java 8+,你也可以这样做
IntStream.rangeClosed(1, 6).forEach(times -> System.out.println("I have printed " + times + " times.")); -
“两者都打印完全相同的东西” - 不,他们没有。
-
@JackWhiteIII 是的,我没有意识到
for循环的开头是“我已经打印了 0 次”。
标签: java for-loop do-while counting