【问题标题】:What is the purpose of a do-while loop? [duplicate]do-while 循环的目的是什么? [复制]
【发布时间】:2015-05-30 09:32:07
【问题描述】:

我知道 do 做什么,以及它如何与 while 循环配合,但是 while 循环代码不会相同,无论 do 是否存在?

【问题讨论】:

  • 一个do-while循环将至少运行一次。
  • do while 循环至少进行一次迭代
  • 属于while循环的检查。 while 循环在运行之前进行检查,而 do while 首先执行某些操作,然后进行检查。 Here 是 oracle 文档中的解释(底句)
  • 第1步:你做谷歌。第2步:你在这里问。没有其他办法... :)

标签: java while-loop do-while


【解决方案1】:

考虑以下几点:

while(condition){
   myFunction();
}

do{
   myFunction();
}while(condition);

第二种形式至少执行一次myFunction(),然后检查condition!要使用while 循环,您必须编写:

myFunction();

while(condition){
   myFunction();
}

【讨论】:

    【解决方案2】:

    不同之处在于“do-while”循环将至少执行一次。如果条件为 false 的“while”循环,则不会执行循环体。

    【讨论】:

      【解决方案3】:

      如果你这样写“循环”(没有你的问题中的do):

      int i=0;
      {
          System.out.println(i++);
      }while(i<10);
      

      它只会打印出0(仅此而已),并且循环 10 次.. 所以不,如果 do 不存在,循环将不一样。

      【讨论】:

        【解决方案4】:

        while 和 do-while 语句最大的区别在于,它是否至少执行一次。

        while(false)
         printf("print!");
        

        使用此语句,程序将永远不会打印字符串。然而,

        do{
            printf("print!");
        }while(false);
        

        使用此语句,程序将打印一次字符串。

        但是很多人不推荐使用 do-while 语句——因为它可以用 while 语句代替。这并不意味着 do-while 语句非常有害,但它很少使用。

        实际上,for 循环是最安全和推荐的方式,因为程序员可以轻松处理迭代次数、循环条件和增加变量。因此,如果您没有任何特定原因必须使用 while 循环,只需使用 for 循环即可。

        【讨论】:

          【解决方案5】:

          即使条件失败,您也必须至少执行一次任务时使用 do-while() 构造。 当您的任务仅在某些条件成功时执行时使用 while()。

          【讨论】:

            猜你喜欢
            • 2022-01-03
            • 1970-01-01
            • 2016-07-14
            • 2022-12-12
            • 2011-03-10
            • 2017-10-07
            • 2016-05-26
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多