一,每日收获
多重循环控制
经典打印金字塔(思维)
二,新名词与小技巧
三,今天学习中所遇到的困难
一,每日收获
多重循环控制
① 介绍
1)
将一个循环放在另一个循环体内,就形成了嵌套循环。其中,
for ,while ,do…while
均可以作为外层循环和内层循环。
【建议一般使用两层,最多不要超过
3
层
,
否则,代码的可读性很差】
2)
实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为
false
时,才会完全跳出内
层循环,才可结束外层的当次循环,开始下一次的循环
[
听不懂,走案例
]
。
3)
设外层循环次数为
m
次,内层为
n
次,则内层循环体实际上需要执行
m*n
次。
![](https://i-blog.csdnimg.cn/blog_migrate/a6f26b5ff6f004444459935a597a5b8a.png)
多重循环控制难点在分析流程,流程不能乱。是内层循环还是外层循环以及
功能性程序插入位置
最容易出错的地方就是插错位置这也就是测试这个岗位最关键的。
② 训练(跟着视频写的)
1)
统计
3
个班成绩情况,每个班有
5
名同学,求出各个班的平均分和所有班级的平均分
[
学生的成绩从键盘输入
]
。
2)
统计三个班及格人数,每个班有
5
名同学。
import java.util.Scanner;
public class MulForExercise01 {
//
编写一个
main
方法
public static void main(String[] args) {
//
统计
3
个班成绩情况,每个班有
5
名同学,
//
求出各个班的平均分和所有班级的平均分
[
学生的成绩从键盘输入
]
。
//
统计三个班及格人数,每个班有
5
名同学。
//
//
思路分析
:
//
化繁为简
//(1)
先计算一个班
, 5
个学生的成绩和平均分
,
使用
for
//1.1
创建
Scanner
对象然后,接收用户输入
//1.2
得到该班级的平均分
,
定义一个
doubel sum
把该班级
5
个学生的成绩累积
//(2)
统计
3
个班
(
每个班
5
个学生
)
平均分
//(3)
所有班级的平均分
//3.1
定义一个变量,
double totalScore
累积所有学生的成绩
//3.2
当多重循环结束后,
totalScore / (3 * 5)
//(4)
统计三个班及格人数
//4.1
定义变量
int passNum = 0;
当有一个学生成绩
>=60, passNum++
//4.2
如果
>= 60 passNum++
//(5)
可以优化
[
效率,可读性
,
结构
]
//
创建
Scanner
对象
Scanner myScanner = new Scanner(System.in);
double totalScore = 0; //
累积所有学生的成绩
int passNum = 0;//
累积 及格人数
int classNum = 3; //
班级个数
int stuNum = 5;//
学生个数
for( int i = 1; i <= classNum; i++) {//i
表示班级
double sum = 0; //
一个班级的总分
for( int j = 1; j <= stuNum; j++) {//j
表示学生
System.out.println("
请数第
"+i+"
个班的第
"+j+"
个学生的成绩
");
double score = myScanner.nextDouble();
//
当有一个学生成绩
>=60, passNum++
if(score >= 60) {
passNum++;
}
sum += score; //
累积
System.out.println("
成绩为
" + score);
}
//
因为
sum
是
5
个学生的总成绩
System.out.println("sum=" + sum + "
平均分
=" + (sum / stuNum));
//
把
sum
累积到
totalScore
totalScore += sum;
}
System.out.println("
三个班总分
="+ totalScore
+ "
平均分
=" + totalScore / (classNum*stuNum));
System.out.println("
及格人数
=" + passNum);
}
}
经典打印金字塔(思维)
使用
for
循环完成下面的案例
请编写一个程序,可以接收一个整数
,
表示层数(
totalLevel
),打印出金字塔。
(Stars.java) [
化繁为简
,
先死后活
]
![](https://i-blog.csdnimg.cn/blog_migrate/9209849d8c61081c060188f9667c727a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ef74387224d9959bf95d002afa066106.png)
![](https://i-blog.csdnimg.cn/blog_migrate/eabee1a7139a6d0a04f7492acde8ebd4.png)
二,新名词与小技巧
无
三,今天学习中所遇到的困难
难理解 视频看了不少遍,自己写的时候也是边写边看边想。