Java do-while循环
基本语法
语法格式:
①初始化部分;
do{
③循环体部分
④迭代部分
}while(②循环条件部分);
执行过程:①-③-④-②-③-④-②-③-④-...-②
图示:
说明:
- 结尾while(循环条件)中循环条件必须是boolean类型
- do{}while();最后有一个分号
- 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(); }