嵌套循环

嵌套循环的引入是为了解决多层循环的问题,比如:打印13行14列的数字13;




java 多层循环优化 java双层循环嵌套优化_初始化


13 x 14 嵌套循环

打印结果为:


java 多层循环优化 java双层循环嵌套优化_嵌套循环_02

13 x 14 嵌套循环 运行结果


在这块代码中,外层循环次数相当于行数,内层循环数相当于每行的列数,打印字符“13”的代码被执行了13 x 14 次;此时的循环次数不大,效果不是很明显,再看考虑如下的嵌套循环代码:


java 多层循环优化 java双层循环嵌套优化_java 多层循环优化_03

增加循环次数的 嵌套循环 代码案例

上述代码在执行过程中相关变量的实例化、初始化、比较、自增的次数如下:


java 多层循环优化 java双层循环嵌套优化_嵌套循环_04

嵌套循环分析

嵌套循环优化

对于系统性能来说,无疑不是一个巨大的影响。那么,现在我们可以对其进行优化:


java 多层循环优化 java双层循环嵌套优化_实例化_05

嵌套循环 第一次优化

第一次优化后,相关变量的实例化、初始化、比较、自增的次数都有了一些改变,是这样的:


java 多层循环优化 java双层循环嵌套优化_java 多层循环优化_06

第一次优化后的运行结果

相比较于优化前,效果好了很多,尤其是变量i,j效果是看得见的,但是呢,还有优化的空间,可以把变量i,j,k的初始化统一放到循环外部执行:


java 多层循环优化 java双层循环嵌套优化_实例化_07

嵌套循环 第二次优化

那么,第二次优化后的相关变量的实例化、初始化、比较、自增的次数又有了些改变,会是这样的:


java 多层循环优化 java双层循环嵌套优化_循环自增_08

嵌套循环 第二次优化的结果

此时再来对比原始数据,从数据上就能明显看出差别。再看执行结果,代码性能有了明显的提升,如果觉得效果不明显,还可以加大循环次数多次测试验证。

嵌套循环建议

对嵌套循环的一些使用建议:

  1. 使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同。
  2. 循环嵌套结构的书写,采用右缩进格式,以便于清楚的体现循环层次的关系,提高代码的可读性和层级关系;
  3. 循环层级不能超过3级,我刚开始学编程的时候,老师曾说过这样的话:如果你的循环嵌套超过3级,那就是你的代码逻辑出问题了;层级太多意味着更复杂的逻辑,层级太深,不仅代码可读性差,也不利于后期维护。
  4. 不要再循环中修改数据结构,比如列表数据的增删改。

完结。老夫虽不正经,但老夫一身的才华