Java do-while循环

Posted 滴水穿石不是靠力,而是因为不舍昼夜。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java do-while循环相关的知识,希望对你有一定的参考价值。

基本语法

语法格式:

①初始化部分;
do
    ③循环体部分
    ④迭代部分
while(②循环条件部分);

执行过程:①-③-④-②-③-④-②-③-④-...-②

图示:

说明:

  • 结尾while(循环条件)中循环条件必须是boolean类型
  • dowhile();最后有一个分号
  • do-while结构的循环体语句是至少会执行一次,这个和for和while是不一样的
  • 循环的三个结构for、while、do-while三者是可以相互转换的。

应用举例

练习1、遍历1-100的偶数,并计算所有偶数的和、偶数的个数(累加的思想)

    static void doubleSum() 
        int sum = 0, cnt = 0, num = 1;
        do 
            if (num % 2 == 0) 
                sum += num;//求和
                cnt++;//计数
            
            num += 1;//循环条件+1
         while (num < 100);
        System.out.println("和 " + sum + " ,cnt " + cnt);
    

练习2、体会do-while至少会执行一次循环体

public static void main(String[] args) 
        //while循环:
        int num1 = 10;
        while(num1 > 10)
            System.out.println("hello:while");
            num1--;
        

        //do-while循环:
        int num2 = 10;
        do
            System.out.println("hello:do-while");
            num2--;
        while(num2 > 10);

    

练习3、ATM取款 

声明变量balance并初始化为0,用以表示银行账户的余额,下面通过ATM机程序实现存款,取款等功能。.

=========ATM========
   1、存款
   2、取款
   3、显示余额
   4、退出
请选择(1-4):
public static void main(String[] args) 
        //初始化
        double balance = 0.0;//余额
        Scanner scanner = new Scanner(System.in);
        boolean isFlag = true;//循环条件

        do 
            System.out.println("==========ATM==========");
            System.out.println("\\t1、存款");
            System.out.println("\\t2、取款");
            System.out.println("\\t3、显示金额");
            System.out.println("请选择(1~4)");

            int selection = scanner.nextByte();

            switch (selection) 
                case 1:
                    System.out.println("存多少?");
                    double addMoney = scanner.nextDouble();
                    if (addMoney > 0) 
                        balance += addMoney;
                    
                    break;
                case 2:
                    System.out.println("取多少?");
                    double minusMoney = scanner.nextDouble();
                    if (minusMoney > 0 && balance >= minusMoney) 
                        balance -= minusMoney;
                     else 
                        System.out.println("输入非法或金额不足!!!");
                    
                    break;
                case 3:
                    System.out.println("余额:" + balance);
                    break;
                case 4:
                    System.out.println("欢迎下次进入此系统。^_^");
                    isFlag = false;
                    break;
                default:
                    System.out.println("请重新选择!");
                    break;

            
         while (isFlag);
        //释放资源
        scanner.close();
    

以上是关于Java do-while循环的主要内容,如果未能解决你的问题,请参考以下文章

Java基础第九节(do-while循环)

Java do-while循环

JAVA大数据的第六天——while循环do-while循环以及for循环

Java do-while循环简单问题

廖雪峰Java1-3流程控制-6 do-while循环

java介绍do-while循环