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

    }
}
相关推荐
Norvyn_7几秒前
LeetCode|Day18|20. 有效的括号|Python刷题笔记
笔记·python·leetcode
爱吃烤鸡翅的酸菜鱼11 分钟前
IDEA高效开发:Database Navigator插件安装与核心使用指南
java·开发语言·数据库·编辑器·intellij-idea·database
惊涛骇浪、16 分钟前
SpringMVC + Tomcat10
java·tomcat·springmvc
墨染点香29 分钟前
LeetCode Hot100【6. Z 字形变换】
java·算法·leetcode
ldj20201 小时前
SpringBoot为什么使用new RuntimeException() 来获取调用栈?
java·spring boot·后端
超龄超能程序猿1 小时前
Spring 应用中 Swagger 2.0 迁移 OpenAPI 3.0 详解:配置、注解与实践
java·spring boot·后端·spring·spring cloud
风象南1 小时前
SpringBoot配置属性热更新的轻量级实现
java·spring boot·后端
洛阳泰山1 小时前
Spring Boot 整合 Nacos 实战教程:服务注册发现与配置中心详解
java·spring boot·后端·nacos
Y4090011 小时前
C语言转Java语言,相同与相异之处
java·c语言·开发语言·笔记
YuTaoShao1 小时前
【LeetCode 热题 100】994. 腐烂的橘子——BFS
java·linux·算法·leetcode·宽度优先