做循环与Java中的循环计数

Dom*_*ndo 9 java for-loop counting do-while

在计数方面,应该使用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);
  }
}
Run Code Online (Sandbox Code Playgroud)

似乎与此完全相同:

class Main {
  public static void main(String[] args) {
    for (int times = 1; times < 6; times++) {
      System.out.println("I have printed " + times + " times.");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是速度的差异吗?偏爱?情况?个人怪癖?某种"Java社会禁忌"?我不知道.似乎可以用于有效计数,只需要更多.两者都打印完全相同的东西.

System.out.println("Many thanks!!");

Bil*_*ard 9

你是对的,这些做同样的事情(除了一个开始计数为0而另一个开始计数为1,但这只是一个实现细节).如果您的程序事先知道(在循环开始之前)您希望循环迭代多少次,那么大多数Java开发人员会告诉您使用for循环.这就是它的设计目标.

while环或do while环是更适合在那里你正在寻找一个特定的值或条件退出循环之前的情况.(类似于count >= 10userInput.equals("N").任何评估为布尔值True/False值的东西.)

  • @DomaniTomlindo对不起,什么?一旦"while"条件变为false,则执行其后的语句; 同样适用于"for"循环 (2认同)