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次..所以不,如果不存在,循环将不会相同。