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.根据用户选择,实现相应的功能,退出:退出程序。

    }
}
相关推荐
CoderYanger3 分钟前
优选算法-队列+宽搜(BFS):72.二叉树的最大宽度
java·开发语言·算法·leetcode·职场和发展·宽度优先·1024程序员节
赵大海16 分钟前
黑马《Java架构师实战训练营 (含完整资料)》
java
不带刺仙人球24 分钟前
list.stream().collect例子
java·list·dubbo
星轨初途27 分钟前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法
QT 小鲜肉1 小时前
【孙子兵法之上篇】001. 孙子兵法·计篇深度解析与现代应用
笔记·读书·孙子兵法
Carve_the_Code1 小时前
分布式订单系统:订单号编码设计实战
java·后端
Home1 小时前
23种设计模式之代理模式(结构型模式二)
java·后端
程序员西西1 小时前
详细介绍Spring Boot中用到的JSON序列化技术?
java·后端
雨中飘荡的记忆1 小时前
MySQL 优化实战
java·mysql
豆豆的java之旅1 小时前
深入浅出Activity工作流:从理论到实践,让业务流转自动化
java·运维·自动化·activity·工作流