34. Java 控制流语句 While 和 Do-While 语句

34. Java 控制流语句 While 和 Do-While 语句

在 Java 中,whiledo-while 都是用于执行循环的结构。它们的主要区别在于条件判断的时机,while 循环在循环开始前检查条件,而 do-while 循环则是在每次循环后检查条件,因此,do-while 至少会执行一次循环体。👇


1. While 语句

while 语句用于在给定的条件为 true 时重复执行代码块。每次进入循环前,都会检查条件,如果条件为 true,则继续执行循环体;如果为 false,则退出循环。

基本语法:
java 复制代码
while (condition) {
    // 执行的语句
}
  • condition :布尔表达式,返回 truefalse
  • 如果条件为 true,循环体会执行;如果为 false,则退出循环。
示例:打印 1 到 10 的值
java 复制代码
class WhileDemo {
    public static void main(String[] args) {
        int count = 1;
        while (count < 11) {
            System.out.println("Count is: " + count);
            count++;
        }
    }
}
程序输出:
java 复制代码
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10
解释:
  • count 从 1 开始,每次循环打印 count 并递增。
  • count 达到 11 时,条件 count < 11false,循环结束。
无限循环:

如果条件始终为 true,则会形成 无限循环

java 复制代码
while (true) {
    // 无止境的循环
}

2. Do-While 语句

do-while 语句与 while 语句类似,区别在于条件检查的时机。do-while 循环总是先执行一次循环体代码,然后再检查条件。因此,do-while 循环至少会执行一次循环体。

基本语法:
java 复制代码
do {
    // 执行的语句
} while (condition);
  • condition :循环结束前检查的条件表达式。如果条件为 true,则继续执行;如果为 false,则退出循环。
示例:打印 1 到 10 的值
java 复制代码
class DoWhileDemo {
    public static void main(String[] args) {
        int count = 1;
        do {
            System.out.println("Count is: " + count);
            count++;
        } while (count < 11);
    }
}
程序输出:
java 复制代码
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10
解释:
  • 即使 count 初始值为 1do 语句中的代码仍然会先执行一次。
  • 每次执行后检查条件 count < 11,直到 count 达到 11 时退出循环。

3. 主要区别:While 和 Do-While
  • while 语句 :在每次循环之前先检查条件,只有条件为 true 时才执行循环体。
  • do-while 语句 :先执行一次循环体代码,再检查条件。因此,无论条件如何,do-while 至少执行一次循环体。

📝 总结

  • while 语句:适用于需要在循环开始前验证条件的情况,只有条件成立时才执行循环体。
  • do-while 语句:适用于需要保证至少执行一次循环体的情况,条件检查是在循环体执行之后。

通过理解这两者的区别,我们可以根据具体需求选择最合适的循环结构,以提高代码的可读性和效率。💡

相关推荐
蓝帆傲亦3 小时前
前端性能极速优化完全指南:从加载秒开体验到丝滑交互
前端·交互
野犬寒鸦3 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
鱼毓屿御3 小时前
如何给用户添加权限
前端·javascript·vue.js
JustHappy3 小时前
「web extensions🛠️」有关浏览器扩展,开发前你需要知道一些......
前端·javascript·开源
何中应3 小时前
nvm安装使用
前端·node.js·开发工具
雯0609~3 小时前
hiprint:实现项目部署与打印3-vue版本-独立出模板设计与模板打印页面
前端·vue.js·arcgis
杜子不疼.3 小时前
【Linux】教你在 Linux 上搭建 Web 服务器,步骤清晰无门槛
linux·服务器·前端
Honmaple4 小时前
OpenClaw 实战经验总结
后端
golang学习记4 小时前
Go 嵌入结构体方法访问全解析:从基础到进阶陷阱
后端
程序员Agions4 小时前
useMemo、useCallback、React.memo,可能真的要删了
前端·react.js