Java基础Day05循环语句
一、流程
前向引用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YXdKUVuC-1642863452483)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220121205540196.png)]
if语句和if-else语句和else if语句
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s96kS3t5-1642863452484)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220121212833210.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g5tgzh32-1642863452485)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220121221537372.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZG04qxjE-1642863452485)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220121221835002.png)]
switch分支结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WunTJf14-1642863452486)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122095721655.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yKw5yqx3-1642863452487)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122100016895.png)]
switch细节注意
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BRG7xK4A-1642863452487)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122104250161.png)]
switch 和 if 语句的区分和选择
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8TOO2kxV-1642863452488)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122132247859.png)]
for循环
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oBHE7gp7-1642863452488)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122141120703.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mpU3qksp-1642863452489)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122141454748.png)]
注意事项和细节
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5dtOnjCe-1642863452489)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122143620152.png)]
//死循环
for ( ; ; ){
}
//其他写法
循环变量初始化语句;
for ( ; 循环条件语句; ){
循环操作语句;
循环变量迭代语句;
}
//这样写的好处是可以在循环结束后仍然使用同一个变量
两个重要编程思想
化繁为简,先死后活
简化问题,先拆分后合并;
把常量,变成变量。
while循环
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eG1sR4Eg-1642863452490)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122161825662.png)]
do while
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MWhUt45s-1642863452490)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122164618385.png)]
至少执行一次,先执行,再判断~!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fDPmc3di-1642863452490)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122165123622.png)]
多重循环控制
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dlcls9zL-1642863452491)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122200442429.png)]
练习题综合
//班级成绩总分、平均分登记系统
// 统计 3 个班成绩情况,每个班有 5 名同学,求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入]。
// 统计三个班及格人数,每个班有 5名同学。
//
import java.util.Scanner;
public class MutiFor{
//编写一个 main 方法
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
double totalscore = 0;
int passnum = 0;
for(int j = 1; j <= 3; j++){ //j表示班级
double sum = 0; //把这里放在这里,每次都能刷新sum的值
for (int i = 1; i <= 5; i++){ //i 表示一个班级同学的个数
System.out.println("请输入" + j + "班第" + i + "位同学的成绩。");
double score = myScanner.nextDouble();
if (score >= 60){
passnum ++;
}
sum += score;
totalscore += score;
}
double average = sum / 5.0;
System.out.println(j +"班全班同学的成绩总分是" + sum);
System.out.println(j + "班全班同学的成绩平均分是" + average);
}
double totalaverage = totalscore / 15;
System.out.println("所有班级的平均分shi" + totalaverage);
System.out.println("所有班级的及格人数是" + passnum);
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VomtmDXL-1642863452491)(C:\Users\MyPC\AppData\Roaming\Typora\typora-user-images\image-20220122225534102.png)]
System.out.println(“所有班级的平均分shi” + totalaverage);
System.out.println(“所有班级的及格人数是” + passnum);
}
}
[外链图片转存中...(img-VomtmDXL-1642863452491)]