java中的嵌套循环

前言: 一开始接触java语言,我对于循环这一块有时候很晕,尤为对于for循环。单层的for循环还好理解,嵌套的多层循环一脸懵逼,算着算着我就凌乱了。不说废话,咱们看个例子吧。

     首先来看一下,循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构。java

while、do.. while和for循环语句均可以进行嵌套,而且他们之间能够进行互相嵌套。最多见的是在for循环中嵌套for循环。格式以下:

for (初始化表达式; 循环条件; 操做表达式) 
{
执行语句
.......
for (初始化表达式; 循环条件; 操做表达式) 
{
执行语句
........
}
}
spa


===================blog

示例一:string

  1.     public class Demo1 {  
  2.     public static void main(String[] args) {  
  3.         int i, j;  
  4.         for (i = 0; i <= 7; i++) {  // 外层循环控制行数  
  5.             for (j = 1; j <= i; j++) { // 内层循环打印 *  
  6.               
  7.                 System.out.print("*");  // 注意不是 println  
  8.             }  
  9.           
  10.         System.out.print("\n"); //换行  
  11.         }  
  12.     }  
该例中定义了两层 for 循环,运行结果如图所示:


分析执行顺序:for循环

外层循环用于控制打印的行数。内层循环用于打印“ * ”,每一行的“ * ”个class

数逐行增长,最后输出一个直角三角形。下面分步骤进行详细地讲解,具体以下:变量


第一步,在第 3 行代码定义了两个循环变量 i 和 j ,其中 i 为外层循环变量,j 为内层循环变量。循环

第二步,在第 4 行代码将 i 初始化为 1,条件 i<=7 为true,首次进入外层循环的循环体。
语法

第三步,在第 5 行代码将 j 初始化为 1,因为此时 i 的值为 1,条件 j<=i 为 true,首次进入内层循环的循环体,打印一个“ * ”。
程序

第四步,执行第 5 行代码中内层循环的操做表达式 j++ ,将 j 的值自增为 2。

第五步,执行第 5 行代码中的判断条件 j<=i ,判断结果为 false,内层循环结束,执行后面的代码,打印换行符。

第六步,执行第 4 行代码中外层循环的操做表达式 i++, 将 i 的值自增为 2。

第七步,执行第 4 行代码中的判断条件 i<=7 ,判断结果为 true,进入外层循环的循环体,继续执行内层循环。

第八步,因为 i 的值为 2,内层循环会执行两次,即在第二行打印两个“ * ”,在内层循环结束时会打印换行符。

第九步,依次类推,在第 3 行会打印 3 个“ * ”,逐行递增,直到 i 的值为 8 时,外层循环的判断条件 i<=7 结果为 false ,外层循环

结束,整个程序也就结束了。


下面看一个简单的例子:



打印出结果为35,你动手本身算一下有没有算对?算对就证实你理解了嵌套循环的执行顺序,若是还不对,那还要再多理解一下哟。