while与do...while区别
时间: 2024-06-08 11:03:11 浏览: 166
while循环和do...while循环都是常用的循环结构,它们的区别在于条件判断的时机不同。
while循环是先判断条件是否成立,如果成立则执行循环体,否则跳出循环。而do...while循环则是先执行一次循环体,然后再判断条件是否成立,如果成立则继续执行循环体,否则跳出循环。
因此,do...while循环至少会执行一次循环体,而while循环则不一定会执行。另外,由于do...while循环先执行一次循环体,因此它通常用于需要先执行一些操作后再判断条件的情况。
相关问题
do...while和while...do区别
`do...while` 和 `while...do` 都是循环结构,它们之间的主要区别在于条件检查的位置:
1. **do...while** 循环:首先执行循环体内的代码,然后检查条件是否为真。如果条件满足,就继续下一轮循环;如果条件不满足,则跳出循环。因为先执行一次,所以无论初始条件如何,至少会执行一次循环。
示例:
```java
int i = 0;
do {
System.out.println(i++);
} while (i < 5);
```
这段代码会打印从0到4的数字,即使一开始i并不小于5。
2. **while...do** 循环:相比之下,`while...do` 的工作原理正好相反。它首先检查条件,如果条件为假,则直接跳过循环体,不会执行任何操作。接着执行循环体,之后再次检查条件。
示例:
```java
int i = 0;
while (true) {
if (i >= 5) break; // 确保只运行5次
System.out.println(i++);
}
```
这段代码只有当i达到或超过5时才会开始打印数字。
do......while和while......do有什么区别?
`do...while` 循环和 `while...do` 循环都是 C 语言中的循环结构,不同的是它们在循环体执行的次数上有一些差别。
`do...while` 循环先执行一次循环体,然后再检查循环条件是否成立,如果成立则继续执行循环,否则退出循环。因此,`do...while` 循环至少会执行一次循环体。
`while...do` 循环先检查循环条件是否成立,如果成立则执行循环体,否则直接退出循环。因此,如果循环条件一开始就不成立,`while...do` 循环将不会执行任何一次循环体。
下面是两种循环结构的示例代码:
```c
/* do...while 循环 */
int i = 0;
do {
printf("i = %d\n", i);
i++;
} while (i < 5);
/* while...do 循环 */
int j = 0;
while (j < 5) {
printf("j = %d\n", j);
j++;
}
```
在上面的代码中,`do...while` 循环会先执行一次循环体,输出 `i = 0`,然后检查循环条件 `i < 5` 是否成立,由于 `i` 的值为 1,因此继续执行循环体,输出 `i = 1`,以此类推,直到 `i` 的值为 5,循环结束。
`while...do` 循环先检查循环条件 `j < 5` 是否成立,由于 `j` 的初值为 0,因此成立,执行循环体,输出 `j = 0`,然后将 `j` 的值加 1,变为 1。接下来继续检查循环条件,由于 `j` 的值为 1,仍然成立,继续执行循环体,输出 `j = 1`,以此类推,直到 `j` 的值为 5,循环结束。
阅读全文