java: 5-5多重循环

文章目录

  • 1. 多重循环【重难点】
    • 1.1 什么是多重循环
    • 1.2 步骤分析(老韩的内存分析法)
    • 1.3 应用练习
    • 1.4 经典案例 - 打印金字塔

【老韩b站视频p133-136】

1. 多重循环【重难点】

1.1 什么是多重循环

  1. 将一个循环放在另一个循环里面,就形成了嵌套循环。【老韩建议一般使用2层,最多不要超过 3 层。否则,可读性很差】
  2. 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的外层循环。
  3. 设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次
    java: 5-5多重循环_第1张图片

1.2 步骤分析(老韩的内存分析法)

请分析下面的多重循环执行步骤, 并写出输出 => 韩老师的内存分析法
java: 5-5多重循环_第2张图片

1.3 应用练习

  1. 统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入]。
  2. 统计三个班及格人数,每个班有5名同学。
  3. 打印出九九乘法表。
    【化繁为简,缝缝补补,先死后活】
public class MulFor {
	public static void main(String[] args) {
		//1. 统计3个班成绩情况,每个班有5名同学
		//求出各个班的平均分和所有班级的平均分。
		//2. 统计三个班及格人数,每个班有5名同学。
		//
		//思路:
		//(1)先计算一个班,5个学生的成绩和平均分。
		//1.1 创建一个Scanner对象来接收用户输入。
		//1.2 计算平均分,需要sum
		//(2)统计3个班(每个班5个学生)的平均分。
		//(3) 计算所有班级的平均分,定义double来累积所欲学生的成绩。
		//(4)统计3个班的几个人数
		//定义一个变量,int passNum = 0;>= 60,就++。【接收成绩就马上判断】
		Scanner myScanner = new Scanner(System.in);
		double totalSum = 0; //3个班级总分数
		int passNum = 0; //累计及格人数
		int classNum = 3; //班级数
		int stdNum = 5; //学生数
		for(int i = 1; i <= classNum; i++){
			//i表示班级,j表示学生。
			double sum = 0; //每个班的总分。
			for(int j = 1; j <= stdNum; j++){//5个学生
				System.out.println("请输入第1个班的第" + j + "个学生的成绩");
				double score = myScanner.nextDouble();
				//成绩输入进来就马上判断,是否>= 60
				if(score >= 60){
					passNum++;
				}
				sum += score;
				System.out.println("成绩为" + score);
			}
			totalSum += sum;
			System.out.println("sum=" + sum + "平均分" + (sum / stdNum));
		}
		System.out.println("totalSum=" + totalSum + "总平均分=" + (totalSum / (classNum * stdNum)));
		System.out.println("及格人数=" + passNum);


		//3. 打印出九九乘法表。
		//打印1-9
		for(int i = 1; i <= 9; i++){
			for(int j = 1; j <= i; j++){
				System.out.println(j + "*" + i + "=" + (i * j));
			}
		}


	}
} 

java: 5-5多重循环_第3张图片

1.4 经典案例 - 打印金字塔

  • 请编写一个程序,可以接收一个整数,表示层数(totalLevel),打印出金字塔【用for循环】。
public class var01 {
	public static void main(String[] args) {
		//请编写一个程序,可以接收一个整数,表示层数(totalLevel),打印出金字塔【用for循环】。
		
	}
} 

你可能感兴趣的:(java,python,开发语言)