循环嵌套
循环有 3 种,即 while、do…while 和 for,这 3 种循环可以相互嵌套。例如,在 for 循环中套用 for 循环的代码如下:
for() {
for(...) {
...
}
}
在 while 循环中套用 while 循环的代码如下:
while(...) {
while(...) {
...
}
}
在 while 循环中套用 for 循环的代码如下:
while(...) {
for(...) {
...
}
}
【例4.9】使用嵌套 for 循环输出乘法口诀表(实例位置:资源包\TM\sl\4\9)
创建 Multiplication 类,使用嵌套for循环实现在控制台上输出乘法口诀表,实例代码如下:
public class Multiplication {
public static void main(String[] args) {
int i,j; // i代表行,j代表列
for(i = 1; i < 10; i++) { // 输出 9 行
for (j = 1; j < i + 1; j++) { // 输出与行数相等的列
System.out.println(j + "*" + i + "=" + i * j + "\t"); // 输出拼接的字符串
}
System.out.println(); // 换行
}
}
}
运行结果如图4.15所示。

Figure 1. 图4.15 使用嵌套for循环输出乘法口诀表
这个结果是如何得出来的呢?最外层的循环负责控制输出的行数,i 从 1 到 9,当 i =1 的时候,输出第一行,然后进入内层循环,这里的 j 是循环变量,循环的次数与 i 的值相同,所以使用 “j < i+1” 来控制,内层循环的次数决定本行有几列,所以先输出 j 的值,然后输出 “*” 号,再输出 i 的值,最后输出 j * i 的结果。内层循环全部执行完毕后,输出换行,然后开始下一行的循环。
编程训练(答案位置:资源包\TM\sl\4\编程训练)
【训练3】细胞分裂实验 生物实验室做单细胞细菌繁殖实验,每一代细菌数量都会成倍数增长,一代菌落中只有一个细菌,二代菌落中的细胞经分裂变成两个细菌,三代菌落中的细胞经分裂变成 4 个细菌,以此类推,请计算第十代菌落中的细菌数量。
【训练4】斐波那契数列 1, 1, 2, 3, 5, 8, 13, 21, 34, …是一组典型的斐波那契数列,前两个数相加等于第三个数。那么请问这组数中的第 n 个数的值是多少?