Java Do While 循环会在循环结束时测试给定条件。因此,即使给定条件失败,它也会至少执行一次代码块内的语句。
While 循环在进入代码块之前会测试条件。如果条件为真,则只执行其中的语句。否则,语句至少不会执行一次。在某些情况下,有必要先执行一些操作(执行一些语句),然后再检查条件。在这些情况下,我们可以使用 Java Do While 循环。
Java Do While 循环语法
编程语言中 Do While 循环的语法如下
do {
statement 1;
statement 2;
………….
statement n;
} While (condition);
首先,它将执行花括号内的语句,然后在到达末尾时,它将检查 while 内的条件。如果条件为真,则将重复该过程。如果条件失败,则 Do While 循环将终止。
注意:我们必须在 While 条件后放置一个分号。
Do While 循环的流程图

Do While 循环的流程图序列是
- 首先,我们初始化变量。接下来,它将进入流程。
- 它将执行其中的语句组。
- 接下来,我们必须在 Java do while 循环中使用递增和递减运算符来增加或减少值。请参阅 Java 中的递增和递减运算符文章以了解递增和递减运算符。
- 现在它将检查条件。如果条件为真,则 Do while 循环中的语句将再次执行。只要条件为真,它就会继续该过程。
- 如果条件为假,则它将退出。
Java Do While 循环示例
此程序有助于我们理解 Do While 循环。此程序允许用户输入一个小于 10 的整数。通过使用此值,Java 编译器最多将这些值累加到 10。
package Loops;
import java.util.Scanner;
public class DoWhileLoop {
private static Scanner sc;
public static void main(String[] args) {
int number, sum = 0;
sc = new Scanner(System.in);
System.out.println("\n Please Enter the any integer Value below 10: ");
number = sc.nextInt();
do {
sum = sum + number;
number--;
} while (number > 0);
System.out.format(" Sum of the Numbers From the While Loop is: %d ", sum);
}
}
输出:我们将输入的数字为 = 4。这意味着,总计 = 4 + 3 + 2 + 1 = 10

在这个示例中,我们使用了 Do While 循环。While 中的条件(number > 0)将确保数字大于 0。
在此示例中,用户输入的为:Number = 4,我们初始化 sum = 0
第一次迭代
sum = sum + number
sum = 0 + 4 ==> 4
接下来,数字将减 1 (number –)。
接下来,while 中的条件是真还是假。此处,3 > 0 为真
第二次迭代:在第一次迭代中,Number 和 sum 的值都已更改,即 Number = 3 和 sum = 4
sum = 4 + 3 ==> 7
递减后(number –),检查While条件。此处,2 > 0 为真。
第三次迭代
在 Java Do While 循环的第二次迭代中,两者都已更改为 Number = 2 和 sum = 7
sum = 7 + 2 ==> 9
递减后,条件(1 > 0)为真
第四次迭代
第三次迭代后,Number = 1 且 sum = 9
sum = 9 + 1 ==> 10
接下来,数字将减 1 (number –)。
接下来,while 中的条件是真还是假。此处,0 > 0 为假。
示例中的最后一个 System.out.format 语句将以给定数字的位数作为输出。
Java 中的无限 Do While 循环
如果您忘记在 do while 中递增或递减值,它将无限次执行(也称为无限循环)。例如
package Loops;
public class InfiniteDoWhile {
public static void main(String[] args) {
int number = 1;
do {
System.out.format("%d \n", number);
}while (number <= 10);
}
}
1
1
1
1
1
1
...
...
...
在此,数字始终为 1,并且数字始终小于 10。因此,它将无限次执行语句。现在,让我们在上述示例的迭代中添加一个递增运算符(number++)。
package Loops;
public class InfiniteDoWhile {
public static void main(String[] args) {
int number = 1;
do {
System.out.format("%d \n", number);
number++;
}while (number <= 10);
}
}
现在,当它达到 10 时,条件将失败。让我们看看此程序的输出。
1
2
3
4
5
6
7
8
9
10