Java for循环嵌套
2年前 (2024-04-27)
和其他编程语言一样,Java 允许循环嵌套。如果把一个循环放在另一个循环体内,那么就可以形成嵌套循环。
嵌套循环既可以是 for循环嵌套 while 循环,也可以是 while 循环嵌套 do-while 循环 …… 即各种类型的循环都可以作为外层循环,也可以作为内层循环。
当程序遇到嵌套循环时,如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将被外层循环的循环体来执行——只是内层循环需要反复执行自己的循环体而已。
当内层循环执行结束,且外层循环的循环体执行结束时,则再次计算外层循环的循环条件,决定是否再次开始执行外层循环的循环体。
根据上面分析,假设外层循环的循环次数为 n 次,内层循环的循环次数为 m 次,那么内层循环的循环体实际上需要执行 n×m 次。嵌套循环的执行流程如图 1 所示。

从图 1 来看,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为 false 时,才会完全跳出内层循环,才可以结束外层循环的当次循环,开始下一次循环。下面是一个使用嵌套循环输出九九乘法表实例。
实际上,嵌套循环不仅可以是两层嵌套,而且可以是三层嵌套、四层嵌套 …… 不论循环如何嵌套, 总可以把内层循环当成外层循环的循环体来对待,区别只是这个循环体里包含了需要反复执行的代码。
嵌套循环既可以是 for循环嵌套 while 循环,也可以是 while 循环嵌套 do-while 循环 …… 即各种类型的循环都可以作为外层循环,也可以作为内层循环。
当程序遇到嵌套循环时,如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将被外层循环的循环体来执行——只是内层循环需要反复执行自己的循环体而已。
当内层循环执行结束,且外层循环的循环体执行结束时,则再次计算外层循环的循环条件,决定是否再次开始执行外层循环的循环体。
根据上面分析,假设外层循环的循环次数为 n 次,内层循环的循环次数为 m 次,那么内层循环的循环体实际上需要执行 n×m 次。嵌套循环的执行流程如图 1 所示。

图 1 嵌套循环的执行流程
从图 1 来看,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为 false 时,才会完全跳出内层循环,才可以结束外层循环的当次循环,开始下一次循环。下面是一个使用嵌套循环输出九九乘法表实例。
public static void main(String[] args) {
System.out.println("乘法口诀表:");
// 外层循环
for (int i = 1; i <= 9; i++) {
// 内层循环
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + j * i + "\t");
}
System.out.println();
}
}
运行上面程序,看到如下运行结果:
乘法口诀表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
从上面运行结果可以看出,进入嵌套循环时,循环变量 i 开始为 1,这时即进入了外层循环。进入外层循环后,内层循环把 i 当成一个普通变量,其值为 0。在外层循环的当次循环里,内层循环就是一 个普通循环。实际上,嵌套循环不仅可以是两层嵌套,而且可以是三层嵌套、四层嵌套 …… 不论循环如何嵌套, 总可以把内层循环当成外层循环的循环体来对待,区别只是这个循环体里包含了需要反复执行的代码。
关于必须掌握以及面试中经常遇到的冒泡排序,大家可以参考《Java冒泡排序》一节,前提是已经了解了数组的用法。
- 随机文章
- 马尔代夫宁静岛 英文(Tranquil Escape to Maldives' Serene Island)
- 马尔代夫蜜杜帕卢(马尔代夫美丽蜜月岛-杜帕卢)
- 去辉县马尔代夫湖(探秘辉县马尔代夫湖:浪漫假期首选地)
- 哪儿都是马尔代夫(无需出国游,国内哪儿都是马尔代夫!)
- 吉林马尔代夫门票(吉林打造马尔代夫风光,门票即将上线)
- 印度马尔代夫国家(印度将帮助马尔代夫推动能源转型计划)
- 塔希提和马尔代夫(塔希提和马尔代夫:两个迥异度假胜地)
- 宝宝洗澡马尔代夫(马尔代夫之旅:宝宝洗澡乐享水中乐园)
- 带情人游马尔代夫(浪漫马尔代夫游,美好时光与情人共享)
- 广州马尔代夫直航(广州开通马尔代夫直航,方便旅客出行)
- 国内出境马尔代夫(国内游客涌向马尔代夫,旅游热情高涨)
- 帆船酒店马尔代夫(马尔代夫的一艘帆船被改建成豪华酒店)
- 五一马尔代夫旅行(五一出游首选马尔代夫,享受悠闲假期)
- 怎么召唤马尔代夫(马尔代夫,美丽热带国度等您来体验!)
- 星云 马尔代夫(马尔代夫的星云之旅)
- 泰国对阵马尔代夫(泰国队与马尔代夫队比赛,谁将胜出?)
- 潍坊马尔代夫门票(潍坊马尔代夫景区门票价格及购买攻略)
- 波兰马尔代夫图片(波兰摄影师的马尔代夫之旅,美不胜收)
- 徐州新开马尔代夫(徐州新增养生胜地:仿佛置身马尔代夫)
- 经典马尔代夫旅游(探秘马尔代夫:海水、沙滩和潜水乐趣)
- 瑞丽马尔代夫学生(瑞丽:探访马尔代夫学童的梦想与努力)
- 温州马尔代夫房价(温州投资者赴马尔代夫购房,房价飙升)
- 中国 马尔代夫 进球集锦(中国 vs 马尔代夫:精彩进球集锦回顾)
- 苏州马尔代夫地址(苏州市郭巷村打造的马尔代夫项目亮相)
- 安庆马尔代夫在哪(安庆哪里有类似马尔代夫的旅游胜地?)
- 海游 马尔代夫(探寻马尔代夫——带你畅游海底海洋世界)
- 邢台山里马尔代夫(邢台夫妇从山去到马尔代夫的度假胜地)
- 涪陵马尔代夫淹死(涪陵马尔代夫发生严重洪灾致多人罹难)
- 郴州 马尔代夫(湘南小岛相伴马尔代夫 ── 体验郴州市最新海洋主题公园)
- 荆门马尔代夫在哪(荆门爱好者关注:马尔代夫之旅怎么走)
