Java 简明教程
Java - while Loop
Execution Process of a while Loop
此处,statement(s) 可能是一个语句或一个语句块。 condition 可能为任意表达式,而 true 为任何非零值。
执行时,如果 boolean_expression 结果为真,那么循环内部的操作将被执行。只要该表达式结果为真,此操作就会继续。
当条件变为假时,程序控制权将传递到循环之后的行。
Flow Diagram
下图显示了 Java 中 while 循环的流程图(执行过程) -
在此,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