一、嵌套循环控制
1、将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do..while均可以作为外层循环和内层循环。[建议一 般使用两层,最多不要超过3层,否则,代码的可读性很差]
2、嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。
3、设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次
二、入门练习
package demo03;
public class Many {
public static void main(String[] args) {
for (int i = 0; i < 2 ; i++) {
for (int j = 0; j < 3; j++) {
//一共要执行2x3=6次
System.out.println("i=" + i + "j=" + j);
}
}
}
}
三、练习一
统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入],并统计及格人数。
package demo03;
import java.util.Scanner;
public class Many01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//定义一个变量表示班级
int activity = 3;
//定义一个变量表示每个班级的人数
int student = 5;
//定义一个变量表示输入成绩
double result;
//定义一个变量用于统计总成绩成绩
double num = 0;
//定义一个变量用于统计及格人数
int people = 0;
for (int i = 1; i <= activity ; i++) {
double sum = 0;
for (int j = 1; j <= student ; j++) {
System.out.println("请输入" + i + "班第" + j + "人的成绩");
result = scanner.nextDouble();
//判断及格分数
if (result >= 60){
people++;
}
sum += result;
}
num += sum;
System.out.println("第" + i+ "班的平均分为" + (sum / 5));
}
System.out.println("总的平均分为" + (num / 15));
System.out.println("及格人数为" + people);
}
}
练习二
package demo03;
//打印九九乘法表
public class Many02 {
public static void main(String[] args) {
for (int i = 1; i <=9 ; i++) {
for (int j = 1; j <=i ; j++) {
System.out.print(j+"x"+i+"="+(j*i)+"\t");
}
System.out.println();
}
}
}
练习三
package demo03;
public class Many03 {
public static void main(String[] args) {
//定义一个变量表示层数
int number = 5;
//打印的层数
for (int i = 1; i <= number; i++) {
for (int f = 1; f <= number - i; f++) {
System.out.print(" ");
}
//每层的星的个数
for (int j = 1; j <= 2 * i -1 ; j++) {
if (j == 1 || j == 2 * i - 1 || i == number){
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println("");
}
}
}