Java 中 while 和 do-while 循环的区别

2025年6月23日 | 阅读 6 分钟

Java while 循环

while 循环是一种预测试循环,这意味着它会在进入循环体之前评估条件。如果条件为真,则执行循环体。如果条件从一开始就为假,则根本不会执行循环体。

语法

只要条件保持为真,循环将继续重复执行代码块。如果条件在任何时候变为假,循环将终止,程序将继续执行循环后的下一个语句。

While 循环示例

示例

编译并运行

输出

Count: 1
Count: 2
Count: 3
Count: 4
Count: 5

解释

在上面的示例中,循环将打印数字 1 到 5。在每次迭代之前都会检查条件 i <= 5,只要它评估为真,循环就会继续执行。

Java do-while 循环

do-while 循环是一种后测试循环;这意味着它在检查条件之前至少执行一次循环体。它确保循环体至少被执行一次,无论条件是真还是假。

语法

只要条件保持为真,循环将反复执行代码块。只有当条件变为假时,它才会停止。

do-while 循环示例

示例

编译并运行

输出

Count: 1
Count: 2
Count: 3
Count: 4
Count: 5

解释

在上面的示例中,循环也将打印数字 1 到 5。但是,这里的关键区别在于,在检查条件 j <= 5 之前,循环体首先被执行。

条件评估

while 循环: 在每次迭代之前检查条件。如果条件最初为假,则根本不会执行循环体。

do-while 循环: 在每次迭代之后检查条件。循环体至少执行一次,即使条件从一开始就为假。

执行次数

while 循环: 执行零次或多次(如果条件最初为假,则为 0 次)。

do-while 循环: 执行一次或多次(至少一次)。

用例

while 循环: 当我们想基于条件重复执行一段代码,但如果条件最初为假则不应运行代码时,我们应该使用它。

do-while 循环: 当我们需要至少执行一次代码块,而不考虑条件,然后根据条件重复它时,我们应该使用它。

如何选择?

while 循环和 do-while 循环之间的选择取决于您程序的具体需求。如果我们希望确保循环体至少执行一次,那么 do-while 循环更合适。相反,如果根据初始条件检查,循环可能根本不需要运行,那么 while 循环是更好的选择。

这两个循环都是 Java 开发人员工具箱中宝贵的工具,它们为处理各种代码场景提供了灵活性。

Java 中的 while 循环和 do-while 循环在功能上有很多相似之处;然而,它们在条件评估和初始执行方面的行为使它们有所不同。理解这些差异对于编写高效且无错误的`代码`至关重要。选择最适合您程序特定需求的循环,您将能够有效地处理重复性任务。

Java while 与 do-while 循环

类别while 循环do-while 循环
条件位置条件位于顶部。条件位于底部。
大括号要求如果主体中只有一个语句,则不需要大括号。对于单个语句,大括号是可选的,但建议使用以增加清晰度。
分号用法while 结束时没有分号。do-while 循环的末尾需要分号。
执行行为仅当条件为真时才执行主体。当我们想在循环之前检查条件时,它更常用。即使条件为假,它也至少执行一次主体。当循环体必须在检查条件之前运行时(例如,菜单驱动的程序)很有用。
用例重点当需要基于条件进行循环时使用。当主体必须至少运行一次时使用。
循环类型它也被称为入口控制循环。它也被称为出口控制循环。
变量初始化我们总是在执行此循环之前在条件中初始化一个变量。变量的初始化可能发生在循环执行期间或之前。
示例while(n<5)

 

{

printf("%d\n", n);

}

do

 

{

printf("%d\n", n);

}

while(n<=5);

Java while 和 do-while 循环选择题

1. Java 中的 while 循环和 do-while 循环有什么区别?

  1. 没有区别;它们是可互换的。
  2. while 循环至少执行一次主体;do-while 循环可能根本不执行。
  3. while 循环在执行主体之前检查条件,do-while 循环在执行主体之后检查条件。
  4. while 循环用于无限循环,do-while 循环用于有限循环。
 

答案:c)

解释: 主要区别在于,while 循环在执行循环体之前检查其条件,这意味着如果条件最初为假,则可能根本不会执行循环体。而 do-while 循环则先执行循环体,然后检查条件,从而确保循环体至少执行一次。


2. 以下哪项正确描述了 Java 中 do-while 循环的行为?

  1. 无论条件如何,循环体至少执行一次。
  2. 如果条件最初为假,循环体可能根本不执行。
  3. 只有当条件最初为真时,循环体才执行。
  4. 循环没有条件,并无限执行。
 

答案:a)

解释: 在 do-while 循环中,在执行了循环体之后才检查条件,从而确保循环体至少执行一次。


3. 在 while 循环中何时检查条件?

  1. 在执行完代码块后
  2. 在执行代码块之前
  3. 只在开始时检查一次
  4. 在循环执行结束时
 

答案:b)

解释: 在每次迭代之前都会评估条件。如果最初为假,循环体可能永远不会执行。


4. 如果在 while 循环中没有更新循环变量会发生什么?

  1. 循环可能执行比预期更多的次数
  2. 循环可能根本不执行
  3. 循环可能变成无限循环
  4. 没有风险
 

答案:c)

解释: 如果条件永远不会变为假,循环将无限运行——经典的无限循环场景。


5. while 循环在 Java 中的主要功能是什么?

  1. 执行代码块固定次数
  2. 只要指定条件为真,就执行代码块
  3. 遍历数组元素
  4. 无论条件如何,至少执行一次代码块
 

答案:b)

解释: 只要条件评估为真,while 循环就会继续执行。当迭代次数未知时,它是理想的选择。