Java Do While 循环

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 Loop Flow Chart

Do While 循环的流程图序列是

  1. 首先,我们初始化变量。接下来,它将进入流程。
  2. 它将执行其中的语句组。
  3. 接下来,我们必须在 Java do while 循环中使用递增和递减运算符来增加或减少值。请参阅 Java 中的递增和递减运算符文章以了解递增和递减运算符。
  4. 现在它将检查条件。如果条件为真,则 Do while 循环中的语句将再次执行。只要条件为真,它就会继续该过程。
  5. 如果条件为假,则它将退出。

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

Java Do While Loop 1

在这个示例中,我们使用了 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