Java-do-while循环

do-while循环

基本语法

循环结构四要素

  • 初始化部分
  • 循环条件部分
  • 循环体部分
  • 迭代部分
语法格式:
①初始化部分;
do{
    ③循环体部分
    ④迭代部分
}while(②循环条件部分)

**执行过程:**①-③-④-②-③-④-②-③-④-…-②

图示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2M473m1E-1689735603954)(F:\BaiduNetdiskDownload\image-20220512165558698.png)]

说明:

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

**案例1:**遍历1-100的偶数,并计算所有偶数的和、偶数的个数(累加的思想)

public class DoWhileTest1{
    public static void main(String[] args){
        int count = 0;
        int sum = 0;
        int i = 1;
        do{
            if(i % 2 == 0){
                System.out.println(i);
                sum += i;
                count++;
            }
            i++;
        }while(i<=100);
        System.out.println("共有"+count+"个偶数");
        System.out.println("和为"+sum);
    }
}

**案例2:**体会do-while至少会执行一次循环体

int num = 10;
while(num > 10){
    System.out.println("hello While");     //while 不输出
    num--;
}


int num1 = 10;
do{
    System.out.println("hello While");     //do-while输出 hello While
    num1--;
}while(num > 10);

案例3:ATM取款

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

=========ATM========
   1、存款
   2、取款
   3、显示余额
   4、退出
请选择(1-4):
/*
	整体思路:
		1.先初始化总金额
		2.声明ATM界面
		3.通过Scanner获取用户的选择
		4.根据用户的输入选择相应的服务
		
*/
import java.util.Scanner;
public class ATMTest{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        double balance = 0.0;
        boolean isFlog = true;   //控制循环的结束
        do{
            System.out.println("=========ATM========");
			System.out.println("\t1、存款");
			System.out.println("\t2、取款");
			System.out.println("\t3、显示余额");
			System.out.println("\t4、退出");
			System.out.print("请选择(1-4):");
            
            int num = scan.nextInt();
            switch(num){
                case 1:
                    System.out.print("请输入你存款的金额:");
                    double cun = scan.nextDouble();
                    if(cun > 0){
                        balance += cun;
                    }
                    break;
                case 2:
                    System.out.print("请输入你取款的金额:");
                    double qu = scan.nextDouble();
                    if(qu > balance && qu > 0){
                        System.out.println("余额不足");
                    }else{
                        balance -= qu;
                    }
                    break;
                case 3:
                    System.out.println("余额为:"+balance);
                  	break;
                case 4:
                    System.out.println("欢迎下次进入");
                    isFlog = false;
                    break;
                default:
					System.out.println("请重新选择!");
					break;	
            }
        }while(isFlog);
        scan.close();
    }
}
练习

**练习1:**随机生成一个100以内的数,猜这个随机数是多少?

从键盘输入数,如果大了提示,大了;如果小了,提示小了;如果对了,就不再猜了,并统计一共猜了多少次。

import java.util.Scanner;
public class DoWhileTest11{
    public static void main(String[] args){
        int random = (int)(Math.random()*100);
        System.out.println(random);
        
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入猜测的数:");
        int guess = scan.nextInt();
        
        int count = 1;
        
        do{
           if(guess > random){
               System.out.println("猜大了");
           }else{
               System.out.println("猜小了");
           }
           System.out.println("请输入猜测的数:");
           guess = scan.nextInt();
           count++;
        }while(guess != random);
        System.out.println("猜了"+count+"次");
        scan.colse();
    }
}
对比三种循环结构
  • 三种循环结构都具有四个要素
    • 循环变量的初始化条件
    • 循环条件
    • 循环体语句
    • 循环变量的修改的迭代表达式
  • 从循环次数角度分析
    • do-while循环至少执行一次循环体语句
    • for和while循环先判断循环条件语句是否成立,然后决定是否执行循环体
  • 如何选择
    • 遍历有明显的循环次数(范围)的需求下,选择for循环

    • 遍历没有明显的循环次数(范围)的需求,选择while循环

    • 如果循环体语句块至少执行一次,可以考虑使用do-while循环
      环次数角度分析

    • do-while循环至少执行一次循环体语句

    • for和while循环先判断循环条件语句是否成立,然后决定是否执行循环体

  • 如何选择
    • 遍历有明显的循环次数(范围)的需求下,选择for循环
    • 遍历没有明显的循环次数(范围)的需求,选择while循环
    • 如果循环体语句块至少执行一次,可以考虑使用do-while循环
    • 本质上:三种循环之间完全可以互相转换,都能实现循环的功能
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值