Java学习笔记:do_while循环

相关介绍:

在Java中,do-while循环是一种基本的控制流语句,它至少执行一次循环体,然后根据条件判断是否继续执行。这种循环结构的特点是先执行循环体,然后判断条件,如果条件为真,则继续执行循环体,否则退出循环。

do-while循环的语法如下:

复制代码
do {
    // 循环体代码
} while (条件表达式);

下面是do-while循环的执行步骤:

  1. 执行循环体中的代码。
  2. 计算条件表达式。
  3. 如果条件表达式的结果为真(非零),则返回到步骤1,继续执行循环体。
  4. 如果条件表达式的结果为假(零),则退出循环,继续执行循环后面的代码。

由于do-while循环至少执行一次循环体,即使条件表达式一开始就为假,循环体也会被执行一次。这与while循环不同,while循环在循环开始前就判断条件,如果条件不满足,则循环体一次也不会执行。

下面是一个简单的do-while循环的例子:

复制代码
int count = 0;
do {
    System.out.println("计数: " + count);
    count++;
} while (count < 10);

在这个例子中,循环体会打印当前的计数,然后将计数增加1。循环会一直执行,直到计数达到10。由于循环体至少执行一次,所以即使count一开始就大于或等于10,循环体也会被执行一次。

do-while循环适用于那些至少需要执行一次循环体的情况,例如,当需要用户输入并且至少需要输入一次时。

相关代码:

java 复制代码
/*
循环体:do-while循环
凡是循环结构,就一定会有4个要素
1.条件判断
2.循环体
3.条件控制
4.条件控制

do-while格式:
do{

}while(条件判断);
执行过程是:
说明:
do-while循环至少会执行一次循环体,
for,while,do-while循环三者之间可以相互转换
 */
import java.util.Scanner;
public class do_while_50 {
    public static void main(String[] args){
        int i = 0;
        int count = 0;
        int sum = 0;
        do{
            if(i % 2 == 0){
                System.out.println(i);
                count++;
                sum += i;
            }
            i++;
        }while(i<=100);
        System.out.println("偶数的个数为:"+count);
        System.out.println("偶数的和为:"+sum);

        int num1 = 10;
        while(num1>=10){
            System.out.println("while:hello");
            num1--;
        }
        int num2 = 10;
        do{
            System.out.println("do-while:hello");
            num2--;
        }while (num2>=10);
    }
    /*
    题目:模拟一个ATM机程序,实现存款,取款,查询余额,退出等功能。
    声明变量balance并初始化为0,用以表示银行账户的余额,下面通过ATM机程序模拟实现存款,取款操作等功能:
    1.存款:
    输入金额,并累加到balance中;
    2.取款:
    输入金额,并累减到balance中;
    3.查询余额:
    输出balance的值;
    4.退出:
    退出程序。
     */
    public static void main(String[] args){
        //1.声明变量balance并初始化为0,用以表示银行账户的余额
        double balance = 0.0;
        boolean flag = true;  //控制循环的结束

        //2.通过ATM机程序模拟实现存款,取款操作等功能
        Scanner sc = new Scanner(System.in);
        do{
            System.out.println("*************ATM*************");
            System.out.println("1.存款");
            System.out.println("2.取款");
            System.out.println("3.显示余额");
            System.out.println("4.退出");
            System.out.print("请选择(1-4)");
        //3.使用Scanner类,实现键盘输入

            int scan = sc.nextInt();

            switch(scan){
                case 1:
                    System.out.println("请输入存款金额");
                    double money = sc.nextDouble();
                    balance += money;
                    break;
                case 2:
                    System.out.println("请输入取款金额");
                    double money1 = sc.nextDouble();
                    if(money1 > balance){
                        System.out.println("余额不足,取款失败");
                    }else{
                        balance -= money1;
                        System.out.println("取款成功,剩余余额为:"+balance);
                    }
                    break;
                case 3:
                    System.out.println("账户余额为:"+balance);
                    break;
                case 4:
                    flag = false;
                    System.out.println("退出成功");
                    break;
                default:
                    System.out.println("输入有误,请重新输入");
            }

        }while(flag);

        sc.close();



        //4.根据用户选择,实现相应的功能,退出:退出程序。

    }
}
相关推荐
腻害兔5 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
码智社6 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
克里斯蒂亚诺更新6 小时前
ruoyi角色权限的对应关系
笔记
萧瑟余晖7 小时前
JDK 26 新特性详解
java·开发语言
马优晨8 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
a1117769 小时前
2FA 验证码生成器(github登录验证 app)
笔记·学习
我的xiaodoujiao9 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
维天说10 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
破碎的南瓜10 小时前
sqli--sql注入过关笔记(1,2,3,4,5,9)
数据库·笔记·sql
Zane199411 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端