1、while
语法结构:
while(表达式){
...代码块/循环体...
}
理解:
表达式的结果必须是boolean
true - 执行循环体
false- 跳出循环
死循环:
while(true){
System.out.println("死循环");
}
需求:使用while循环实现输出5遍"中国"int i = 1; while(i<=5){ System.out.println("用良心做教育"); i++; }
注意:while循环可以实现for循环的功能
案例:我有个梦想,每月存3000,每年递增1000元,多少个月后存满20万
int allMoney = 0; int money = 3000; int month = 0; while(allMoney < 200000){ allMoney += money; month++; if(month % 12 == 0){ money += 1000; } } System.out.println(month + "个月后存满20万"); System.out.println("最后一个月需要存:" + money);
2、do-while
语法结构:
do{
...代码块/循环体...
}while(表达式);
理解:
先执行一遍代码块,再判断表达式
表达式的结果必须是boolean
true - 执行循环体
false- 跳出循环
死循环:
do{
System.out.println("死循环");
}while(true);
案例:张三参加学校组织的歌咏比赛,大赛在即,老师建议:先彩排一次,如果很令人满意,以后就不用彩排了,否则每天都排,直到现场表现满意为止!Scanner scan = new Scanner(System.in); String str; do{ System.out.println("张三:旋转、跳跃,我闭着眼~~~"); System.out.println("张三:何老师您满意了吗?"); str = scan.next(); }while(str.equals("不满意"));
3、for vs while vs do-while
(1)语法结构的区别:
for(初始化变量;判断条件;更新变量){}
while(判断条件){}
do{}while(判断条件);
共同点:判断条件必须是boolean类型,true就循环,false就跳出循环
(2)执行顺序的区别:
for:先判断,再执行
while:先判断,再执行
do-while:先执行一遍,再判断
(3)应用场景的区别:
循环次数确定时,使用for循环
循环次数不确定时,并且先判断再执行,使用while循环
循环次数不确定时,并且先执行一遍再判断,使用do-while循环