do-while循环的目的是什么?

我知道它做了什么,以及它如何与while循环合作,但是不会有一个while循环代码是相同的,无论是否存在?

考虑以下:

while(condition){ myFunction(); } 

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

第二种forms执行myFunction()至少一次然后检查condition ! 要使用while循环执行此操作,您需要编写:

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

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

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

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

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

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

但是很多人不建议使用do-while语句 – 因为它可以用while语句替换。 这并不意味着do-while语句具有极其危险性,但很少使用。

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

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

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

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

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

它只会打印0 (没有更多),而不是循环10次..所以不,如果不存在,循环将不会相同。