基本信息
文件名称:「Java流程控制」do……while循环结构.docx
文件大小:1.36 MB
总页数:7 页
更新时间:2025-07-02
总字数:约2.4千字
文档摘要

PAGE232

想象一下在健身房锻炼的场景。利用do……while循环表示:

先做一次训练(循环体执行)

然后看看效果(条件判断)

决定是否继续(是否进入下一次循环)

这和while循环不同,while循环是先在门口看看人多人少才决定进不进去。而do……while是二话不说先练起来再说!

do……while语法结构

do……while结构保证了循环体至少执行一次,然后根据条件决定是否继续;就像至少会尝试一次健身,然后根据感受决定要不要继续。

案例解析

用户密码验证

编写一个程序看,模拟用户登录时的密码验证。

运行结果

输入3次错误的密码

请输入密码:123456

密码错误!您已尝试1次

请输入密码:456123

密码错误!您已尝试2次

请输入密码:789456

密码错误!您已尝试3次

尝试次数过多,账户已锁定

输入正确密码

请输入密码:java123

登录成功!

代码解析:

程序首先会要求用户输入密码(至少执行一次)

检查密码是否正确,并记录尝试次数

当密码错误且尝试次数小于3次时,继续循环

退出循环后根据情况输出相应提示

这个例子很好地展示了do...while的特点,至少要给用户一次输入机会。

购物车结算系统

编写一个程序,模拟电商网站购物车结算系统。

代码运行效果:

依次输入产品和价格。

===欢迎来到Java超市结算系统===

请输入商品名称:牛奶

请输入商品价格:12.5

已添加牛奶到购物车,当前总计:12.50元

是否继续购物?(y/n):y

请输入商品名称:面包

请输入商品价格:8.8

已添加面包到购物车,当前总计:21.30元

是否继续购物?(y/n):n

购物结算完成,总金额:21.30元

感谢您的光临!

常见错误及解决方法

忘记分号

解决方法:记住while后面的小括号外必须加分号。

条件永远为真导致无限循环

解决方法:确保循环条件最终会变为false。

错误的条件判断

解决方法:理解do...while至少执行一次的特性,确保逻辑正确

练习题

理论练习题

do...while循环和while循环最主要的区别是什么?

答案:do...while循环至少执行一次循环体,而while循环可能一次都不执行。

下列代码会输出什么?

答案:输出54321,因为从5递减到1,当x=0时退出循环。

什么情况下应该优先选择do...while而不是while循环?

答案:当需要至少执行一次循环体时,比如菜单显示、用户输入验证等场景。

如果超市结算系统改用while循环实现,会有什么潜在问题?

答案:使用while循环时,如果用户一开始就选择不购物,程序会变得很奇怪。而do...while确保至少执行一次结算流程,更符合实际场景

下面这段代码有什么问题?

答案:虽然循环条件初始就不满足,但do...while仍会执行一次,输出5。这可能不是程序员的本意,需要注意这种特性。

为什么购物车案例中使用charAt(0)来获取用户输入?

答案:Scanner的next()方法返回字符串,而我们需要单个字符做判断。charAt(0)取字符串第一个字符,既简化输入又避免字符串比较的开销。

实操练习题

编写一个程序,使用do...while循环计算1到100的偶数和

运行结果

1到100的偶数和为:2550