2016-03-14 92 views
-2

有人能帮助我理解这个嵌套循环内部发生了什么吗?我一直在困扰着这个逻辑背后的逻辑Java逻辑,三角形

public class Old { 
    public static void main(String[] args) { 
     for (int i = 1; i <= 10; i++) { 
     for (int j = 1; j <= i; j++) { 
      System.out.print("*"); 
     } 
     System.out.println(); 
    } 
} 
} 
+2

运行它一步一步的调试下,看看自己。 –

回答

1

第一次循环运行10次。

第二个for循环运行i次,其中我每次第二个for循环经历一个完整的循环时增加1。

第二个for循环必须在第一个循环数加1之前运行整个循环。由于它的限制是i,每次增加1,第二个for循环的循环必须遍历内容在那个循环中比上一个循环多1次。

在第二个for循环期间,它打印星号*。请注意,printprintln不同之处在于println在打印任何指定内容后跳过一条线,而print不会使它跳到新的一行。

因此,每条新行上打印的星号数量增加1。其结果将是星号的10条线路,其中的最后一行有10

* 
** 
*** 
**** 
***** 
****** 
******* 
******** 
********* 
**********