Java 简明教程

Java - while Loop

Java while Loop

Java 编程语言中的 while 循环语句重复执行代码块,只要给定的条件为真。

while 循环是一个条目控制循环,其中在执行循环体之前检查条件。

Syntax of while Loop

while 循环的语法为 −

while(Boolean_expression) {
   // Statements
}

Execution Process of a while Loop

此处,statement(s) 可能是一个语句或一个语句块。 condition 可能为任意表达式,而 true 为任何非零值。

执行时,如果 boolean_expression 结果为真,那么循环内部的操作将被执行。只要该表达式结果为真,此操作就会继续。

当条件变为假时,程序控制权将传递到循环之后的行。

Flow Diagram

下图显示了 Java 中 while 循环的流程图(执行过程) -

java while loop

在此,while 循环的关键点在于 loop 可能永远不会运行。当表达式经过测试且结果为 false 时,循环体将会被跳过,并且 while 循环之后的第一个语句将会被执行。

Examples of while Loop

Example 1: Printing Numbers in a Range Using while Loop

在这个例子中,我们正在展示 while 循环用于打印从 10 到 19 的数字。在这里我们用 10 的值初始化了一个 int variable x。然后在 while 循环中,我们检查 x 是否小于 20,并在 while 循环中,我们打印 x 的值并且将 x 的值增加 1。while 循环将一直运行直到 x 变为 20。一旦 x 为 20,循环将停止执行,程序退出。

public class Test {

   public static void main(String args[]) {
      int x = 10;

      while( x < 20 ) {
         System.out.print("value of x : " + x );
         x++;
         System.out.print("\n");
      }
   }
}
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

Example 2: Printing Elements of an Array Using while Loop

在这个例子中,我们正在展示 while 循环用于打印一个 array 的内容。在这里我们创建一个整数数组作为 numbers,并且用一些值初始化它。我们创建了一个名为 index 的变量来表示数组的索引,同时对其进行迭代。在 while 循环中,我们检查 index 是否小于数组的大小,并且使用索引符号打印数组的元素。index 变量增加 1,并且循环一直持续到 index 变为数组的大小,然后循环退出。

public class Test {

   public static void main(String args[]) {
      int [] numbers = {10, 20, 30, 40, 50};
      int index = 0;

      while( index < 5 ) {
         System.out.print("value of item : " + numbers[index] );
         index++;
         System.out.print("\n");
      }
   }
}
value of item : 10
value of item : 20
value of item : 30
value of item : 40
value of item : 50

Infinite While Loop in Java

您可以使用 while 循环语句实现一个无限 while 循环,方法是将“true”作为测试条件。

Example 3: Implementing Nested while Loop

在这个示例中,我们展示了使用 while 循环的无限循环。它将继续打印数字,直到你按 ctrl+c 终止程序。

public class Test {

   public static void main(String args[]) {
      int x = 10;

      while( true ) {
         System.out.print("value of x : " + x );
         x++;
         System.out.print("\n");
      }
   }
}
value of item : 10
value of item : 20
value of item : 30
value of item : 40
value of item : 50
...
ctrl+c