Day05
一,for循环嵌套
1.见下篇(第五天学习拓展——打印三角形)
二,while循环
1.语法结构
while(表达式){
…代码块…
}理解:表达式的结果必须是boolean类型
true – 执行代码块
false - 跳出整个循环
2.小结
while循环可以做到for循环的功能
三,do-whlie循环
1.语法结构
do{
…代码块…
}while(表达式);理解:
先执行一遍代码块,再判断表达式
表达式的结果必须是boolean类型
true – 执行代码块
false - 跳出整个循环
2.案例
唐亮参加学校组织的歌咏比赛,大赛在即,老师建议:先彩排一次,如果很令人满意,以后就不用彩排了, 否则每天都排,直到现场表现满意为止!
Scanner scan = new Scanner(System.in); String str; do{ System.out.println("唐亮:\"旋转、跳跃,我闭着眼~~~\""); System.out.println("唐亮:\"何老师,您满意了吗?\""); str = scan.next(); }while(str.equals("不满意"));
3.小结
1.do-while先循环一遍,再判断 2.在代码块中声明的变量不能在外面使用
四,for vs while vs do-while
1.表达式的区别:
for(初始化变量;判断条件;更新变量){}
while(判断条件){}
do{}while(判断条件);
注意:三大循环的判断条件,如果是true就执行代码块,如果是false就跳出循环
2.执行顺序的区别:
for:先判断,再执行 while:先判断,再执行 do-while:先执行一遍,再判断
3.应用场景的区别:
for:循环次数确定时
while:循环次数不确定时,先判断,再执行
do-while:循环次数不确定时,先执行一遍,再判断
五,特殊的流程语句 – break
1.含义
作用于循环中,表示跳出/结束当前循环
2.案例
循环录入麻生希同学5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示。
Scanner scan = new Scanner(System.in); boolean flag = true;//true-正常录入 false-非正常录入 double sum = 0; for(int i = 1;i<=5;i++){ System.out.println("请输入第" + i + "门成绩:"); double score = scan.nextDouble(); if(score < 0){ flag = false; break; } sum += score; } if(flag){ double avg = sum/5; System.out.println("平均分为:" + avg); }else{ System.out.println("分数为负数,停止录入"); }
六,特殊的流程控制语句 – continue
1.含义
作用于循环中,表示跳过循环体剩余部分,进入到下一次循环中
2.案例
循环录入Java课5名学生的成绩,统计分数大于等于80分的学生比例。
Scanner scanner = new Scanner(System.in); int count = 0; for (int i = 0; i < 5; i++) { System.out.println("请输入第 " + (i + 1) + " 名学生的分数:"); int score = scanner.nextInt(); if (score >= 80) { count++; } } double percentage = count/ 5.0 * 100; System.out.println("分数大于等于80的学生占比为:" + percentage + "%"); }
七,特殊的流程控制语句 – return
1.含义
作用于方法中,表示结束当前方法
八,特殊的流程控制语句 – label
1.含义
给循环做标记
总结
1.嵌套for循环 – 重要
经验:慢慢捋思路
2.while循环
3.do-while循环
4.for vs while vs do-while
表达式的区别
执行顺序的区别
应用场景
5.特殊的流程控制语句
break
continue
return
label