Logo
Section 1 / 10

while 和 do-while 循环

本节课介绍了 Java 中的 while 循环和 do-while 循环。通过代码示例展示它们的实现方式,并解释其工作原理。

导入

while 和 do-while 循环

本节课介绍了 Java 中的 while 循环和 do-while 循环。通过代码示例展示它们的实现方式,并解释其工作原理。

循环 允许程序员重复执行同一段代码。

while 循环

while 循环 是唯一必要的重复执行结构。它会持续运行循环体内的语句,直到某个条件被满足为止。

其语法如下:

1while (条件) { 2 // 循环体 3}

花括号 包围的 while 循环体表示将执行多条语句作为该循环的一部分。

以下是 while 循环的代码示例:

1class HelloWorld { 2 public static void main(String args[]) { 3 int x = 0; 4 int y = 0; 5 while (x != 4) { // while 循环将持续运行,直到 x == 4 的条件不再成立 6 y += x; 7 x += 1; 8 } 9 System.out.println("y 的值 = " + y); 10 System.out.println("x 的值 = " + x); 11 } 12}

下面是上述代码的图解,帮助你更好地理解逻辑。

如果 while 循环的代码如下所示,则会出现问题。

你将遇到“执行超时异常”。

1class Loops { 2 public static void main(String args[]) { 3 int x = 0, y = 0; 4 while (x != 4) // 因为在 while 循环内部没有改变 x 的值,程序将陷入无限循环 5 { // 条件始终为真,无法退出 6 y += x; 7 } 8 x += 1; 9 } 10}

在上面的代码中,第 8 行仍然存在。它只有在 while 循环结束后才会执行。但 while 循环永远不会结束,因为终止条件从未被满足。

这是一个严重的问题,因为参与条件判断的变量 (x) 没有被修改,因此条件始终为 true,导致形成一个无限循环。

注意: 使用 while 循环时要小心,它有可能变成无限循环。

do...while 循环

do-while 循环与 while 循环几乎完全相同,唯一的区别是:do-while 循环在循环开始前不检查条件,而是在第一次执行之后才检查条件,如果条件为 true,则继续下一次迭代。

其语法如下:

1do { 2 // 循环体 3} while (条件);

如你所见,它至少会执行一次循环体,然后再检查条件。

注意: do-while 循环仍然可能产生无限循环,因此使用时应和 while 循环一样保持谨慎。它的用途比 while 循环更有限,仅在必要时才使用。

以下是 Java 中实现 do..while 循环的示例。

1class HelloWorld { 2 public static void main(String args[]) { 3 int number = 5; 4 do { 5 System.out.println("number 的值是: " + number); 6 number++; 7 } while (number <= 9); // 条件在第一次执行后才进行检查 8 } 9}

下面是上述代码的图解,帮助你更好地理解逻辑。

do-while 何时使用?

当你的循环必须至少执行一次,即使给定条件为 false 时,就应该使用 do-while 循环。

例如,假设我们需要从用户那里获取一个整数输入,直到用户输入一个正数为止。在这种情况下,我们必须使用 do-while 循环,因为至少需要向用户请求一次输入。该循环将持续运行,直到用户输入一个正数为止。

条件语句

for 循环