注意
- 外层控制行数
- 内层控制列数
定义
- 一个循环体内又包含另一个完整的循环结构
- 外层循环变量变化一次,内层循环变量就要变化一次
练习题
-
若有3个班级各4名学员参赛,如何计算每个班级参赛学员的平均分?
--分析:
1.外层循环控制班级数目
2.内层循环控制每个班级学员数目
public class linshi {
public static void main(String[] args) {
for (int j = 0;j < 3;j++)
{
int sum =0;
System.out.println("请输入第" + (j + 1) + "个班级的成绩");
for (int i = 0;i< 4;i++)
{
System.out.println("第" + (i + 1) + "个学员的成绩:");
Scanner scanner = new Scanner(System.in);
int grade = scanner.nextInt();
sum =sum + grade;
}
System.out.println("第" + (j + 1) + "班级参赛学员的平均分是:" + sum/4);
}
}
}
-
用#打印矩形图案
--分析:
1.外层循环控制行数
2.内层循环控制每行的#号数
public class linshi {
public static void main(String[] args) {
for (int j = 0; j < 5; j++)
{
for (int i = 0; i < 4; i++)
{
System.out.print("#\t");
}
System.out.println("");
}
}
}
-
用#打印倒直角三角形图案
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入直角三角形的行数:");
int hangshu = scanner.nextInt();
for (int j = hangshu; j > 0; j--)//控制的是打印多少行
{
for (int i = 0; i < j; i++)//控制的是每行打印多少列
{
System.out.print("*\t");
}
System.out.println();
}
}
}
- 用#打印正直角三角形图案
//请输入直角三角形的行数:5
//#
//# #
//# # #
//# # # #
//# # # # #
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入直角三角形的行数:");
int hangshu = scanner.nextInt();
for (int j = 0;j < hangshu;j++)//控制的是打印多少行
{
for (int i = 0; i < j + 1;i++)//控制的是每行打印多少列
{
System.out.print("*\t");
}
System.out.println();
}
}
}
-
1,3,5,7,9
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入直角三角形的行数:");
int hangshu = scanner.nextInt();
for (int j = 0;j < hangshu ;j++)//控制的是打印多少行
{
for (int i = 0; i < 2*j + 1;i++)//控制的是每行打印多少列
{
System.out.print("*\t");
}
System.out.println();
}
}
}
-
打印九九乘法表
public class linshi {
public static void main(String[] args) {
for (int j = 0;j < 9;j++)//控制的是打印多少行
{
for (int i = 0; i < j + 1;i++)//控制的是每行打印多少列
{
System.out.print((i + 1) + "*" + (j + 1) + "=" + ((i + 1)*(j + 1)) + "\t");
}
System.out.println();
}
}
}
在二重循环中使用continue
-
若有3个班级各4名学员参赛,计算每个班级参赛学员平均分,统计成绩大于85分学员数
public class linshi {
public static void main(String[] args) {
int count = 0;
for (int j = 0;j < 3;j++)
{
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第" + (j + 1) + "个班级的成绩");
int sum = 0;
int grade = 0;
for (int i = 0;i < 4;i++)
{
System.out.println("第" + (i + 1) + "个学员的成绩:");
grade = scanner.nextInt();
sum += grade;
if (grade <= 85)
{
continue;
}
else
{
count++;
}
}
System.out.println("第" + (j + 1) + "班级参赛学员的平均分是" + sum/4);
}
System.out.println("成绩85分以上的学员人数有" + count + "人");
}
}