Java循环语句的多个循环
在循环体中包含循环语句的结构称为multiloop。这三种类型的循环语句可以彼此嵌套,最常见的是双循环。在双循环中,每次外部循环执行时,内部循环执行一次。
接下来我们通过两个最简单的多重循环程序来深入理解多重循环的执行过程~
1、使用 * 打印长方形:
实现代码为:
System.out.println("打印长方形");
// 外层循环控制行数
for (int i = 1; i <= 3; i++) {
// 内层循环控制每行的*号数
for (int j = 1; j <= 8; j++) {
System.out.print("*");
}
// 每打印完一行后进行换行
System.out.println();
}
执行流程:当i = 1时,外部循环条件成立,进入内部循环并开始打印第一行。此时,j从1开始循环8次。内部循环结束后,换行,实现第一行8 个*的输出。然后将外层循环I返回到2,准备打印下一行,以此类推,直到打印出矩形。
2.使用 * 打印直角三角形:
实现思路:上面的图形中,第 1 行有一个 * 号,第 2 行有两个 * 号,第 3 行有三个 * 号,所以可以使用二重循环来实现。其中,外层循环控制行数,内层循环控制每行的 * 号数。同时,我们发现一个规律,当打印每行信息时,内层循环变量的最大值和外层循环变量的值相等。
实现代码为:
System.out.println("打印直角三角形");
// 外层循环控制行数
for (int i = 1; i <= 3; i++) {
// 内层循环控制每行的*号数
// 内层循环变量的最大值和外层循环变量的值相等
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
// 每打印完一行后进行换行
System.out.println();
}
3.进阶——打印九九乘法表:
经过上面两个简单的例子我们可以挑战用双重循环来打印九九乘法表了
乘法表的结构类似于直角三角形的结构,所以我们可以直接处理上面的第二个例子。关键是改变嵌入循环中打印的内容。您必须仔细查看乘法表是如何实现的,它有9行,因此外部循环的最大值应该是9;然后我们观察到每一行的法律,不难得出,假设每个公式j *我的每一行,j从1开始增加,并最大j行号(一样的外循环),我等于的行数,这样我们设计变量j第二循环嵌套的变量,最后,请注意print函数的格式
实现代码:
System.out.println("打印九九乘法表");
// 外层循环控制行数,总共有9层
for (int i = 1; i <= 9; i++) {
// 内层循环控制每行的乘法算式
// 内层循环变量的最大值和外层循环变量的值相等(相当于直角三角形)
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+(j*i)+" ");
}
// 每打印完一行后进行换行
System.out.println();
}
4、判断一个数(小于10位)的位数。
内容:判断一个数(小于10位)的位数。
输入999,则输出 “它是个3位的数!”
实现思路:判断一个数的位数,我们通常要用1/10/100/..来对这个数求除数(并且截去小数点取整),直到除数结果为0,则说明这个数不属于除数的位数。那么我们用count变量来存储位数的递增(从0开始);定一个循环变量i,初始值为1,每次循环乘以10;循环结束条件为需要判断的数除以i结果等于0。
实现代码:
int num = 999;
int count = 0;
for (int i = 1; num / i != 0; i *= 10) {
count++;
}
System.out.println("它是个" + count + "位的数!");
想要系统学习JAVA推荐JAVA300集
Java300集零基础适合初学者视频教程https://www.bilibili.com/video/BV1oy4y1H7R6?spm_id_from=333.999.0.0