1. 程式人生 > >for語句巢狀迴圈使用

for語句巢狀迴圈使用

案例:

要求:輸出“*”組成的幾行幾列拼成的長方形和三角形;

分析:輸出的應該是單個*組成的圖形,所以要考慮到每行每列的*個數

1.要想組成三行四列的長方形圖形;

    則需要每行先排好四個*,再連續執行下面的程式,輸出三行同樣的****

for(int i=0;i<4;i++){
   System.out.print("*");//先不換行,直接按for語句條件,並排的輸出****
}
   System.out.println();//換行,使上一個程式輸出的結果與下一個程式的不在同一行;


2.優化----巢狀迴圈
for(int i=0;i<3;i++){
//當i<3這個控制條件時,程式跳入下一個for語句中,直至整個程式結束;所以i=0,1,2時,第二個for會執行三次;
   for(int j=0;j<4;j++){
//當i=0,1,2時,程式執行裡面的for語句,j=0,1,2,3會不換行的依次輸出****
       System.out.print("*");
    }
      Sysnte.out.println();//在第二個for語句之外,第一個for語句裡面,所以當第二個for語句執行完一次,會自動跳轉下一行。
}

3.要求列印一個三角形,則輸出條件不變,for語句改變;
for(int i=0;i<5;i++){
//第一個for語句沒有變化,i的值只是控制換的行數;

   for(int j=0;j<=i;j++){
//第二個for語句中的j的值會隨著i的值得變化而變化,j<=i的控制條件會發生改變;

/*
(1)當i=0的時候,j<=0,第二個for語句執行一次就退出;
(2)當i=1的時候,j<=1,i值重新從i=0開始,執行兩次;
(3)依次類推,當第一個for語句執行停止為止。
*/ 
   System.out.print("*");
	}
 System.out.println();
}



輸出的圖形:
*
**
***
****
*****
4.倒三角形
只需要改變第二個for語句的條件
for(int j=0;j<=5-i;j++)