自学Java的第十四天

一,每日收获

多重循环控制

经典打印金字塔(思维)

二,新名词与小技巧

三,今天学习中所遇到的困难

一,每日收获

多重循环控制

① 介绍

1) 将一个循环放在另一个循环体内,就形成了嵌套循环。其中, for ,while ,do…while 均可以作为外层循环和内层循环。
【建议一般使用两层,最多不要超过 3 , 否则,代码的可读性很差】
2) 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为 false 时,才会完全跳出内
层循环,才可结束外层的当次循环,开始下一次的循环 [ 听不懂,走案例 ]
3) 设外层循环次数为 m 次,内层为 n 次,则内层循环体实际上需要执行 m*n 次。
多重循环控制难点在分析流程,流程不能乱。是内层循环还是外层循环以及 功能性程序插入位置
最容易出错的地方就是插错位置这也就是测试这个岗位最关键的。

② 训练(跟着视频写的)

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) [ 化繁为简 , 先死后活 ]

二,新名词与小技巧

三,今天学习中所遇到的困难

难理解 视频看了不少遍,自己写的时候也是边写边看边想。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值