一、介绍
1、将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for,while,do..while均可以作为外层循环和内层循环。【建议一般使用两层,最多不要超过三层,否则,代码的可读性很差】
2、实际上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一个的循环
3、设外层循环次数为m次,内层循环为n次,则内层循环体实际上需要执行m*n次
二、多重循环应用实例
import java.util.Scanner;
public class MulForExercise01 {
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 ++) {
double sum = 0;
for (int i = 1; i <= 5; i++) {
System.out.println("请输入第"+j+"个班第" + i + "个同学的成绩:");
double score = myScanner.nextDouble();
if(score >= 6){
passnum ++;
}
sum += score;
System.out.println("成绩为" + score);
}
System.out.println("班级平均分为" + sum / 5);
totalScore += sum;
}
System.out.println("年级平均分为" + totalScore/15);
System.out.println("通过的人数为" + passnum);
}
}
空心金字塔:
package com;
import java.util.Scanner;
public class jinzitaExercise02 {
public static void main(String[] args) {
System.out.println("请输入所需行数:");
Scanner myScanner = new Scanner(System.in);
int line = myScanner.nextInt();
for (int i = 1; i <= line;i ++){
for (int k = 1; k <= line - i; k++){
System.out.print(" ");
}
for (int j = 1; j <= 2*i-1; j++) {
//当前行的第一个位置是*,最后一个位置也是*,最后一行全为*
if ( j == 1 || j == 2*i-1 || i == line) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println(" ");
}
}
}
体会:
1、化繁为简
2、先死后活