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

What is the purpose of a do-while loop?

我知道do是干什么的,它和while循环是怎么配合的,但是while循环的代码不会是一样的,不管do有没有?

考虑以下几点:

while(condition){
   myFunction();
}

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

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

myFunction();

while(condition){
   myFunction();
}

与"do-while"不同的是循环至少会执行一次。对于条件为假的 "while" 循环,循环体将不会被执行。

如果你这样写 "loop"(没有你问题中的 do):

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

它只会打印出 0(仅此而已),而 not 循环 10 次。所以不,如果do 不存在。

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

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

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

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

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

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

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

如果您必须至少执行一次任务,即使条件失败,也可以使用 do-while() 结构。 当您的任务仅在特定条件成功时执行时使用 while()。