2015年1月9日 星期五

迴圈─ for

For 迴圈
執行次數:0~n次
語法:for (初始值;條件判斷;計次)
         
=====================================================================================
實例:某一幼稚園的幼幼班有10人,每一位小朋友必須答數。
         用for迴圈模擬答數情況

public class ForDemo {
public static void main(String[] args) {
for (int i=1; i<=10;i++){
System.out.println(i+"號");
}
}
}
---------------------------------------------------------------
Result:
1號
2號
3號
4號
5號
6號
7號
8號
9號
10號
==========================================================================================================
多重for迴圈

實例:以最有名的九九乘法表為例

 public class ForDemo {
       public static void main(String[] args) {
           for (int i=1;i<10;i++){                                  // 列
               for(int j=1;j<10;j++)                               // 行
                   System.out.print(j+"*"+i+"="+i*j+"\t");  
                   System.out.print("\n");
           }
                  
       }

}

---------------------------------------------------------------
Result:
1*1=1 2*1=2 3*1=3 4*1=4 5*1=5 6*1=6 7*1=7 8*1=8 9*1=9
1*2=2 2*2=4 3*2=6 4*2=8 5*2=10 6*2=12 7*2=14 8*2=16 9*2=18
1*3=3 2*3=6 3*3=9 4*3=12 5*3=15 6*3=18 7*3=21 8*3=24 9*3=27
1*4=4 2*4=8 3*4=12 4*4=16 5*4=20 6*4=24 7*4=28 8*4=32 9*4=36
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 6*5=30 7*5=35 8*5=40 9*5=45
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 7*6=42 8*6=48 9*6=54
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 8*7=56 9*7=63
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 9*8=72

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

==================================================================================================

多重for迴圈

(Array 不規則的二維陣列為例)

實例:
        當某間蛋糕店要儲存店裡熱門商品名稱,但每一商品種類數量不一時,便可以使用不規則型態的陣列作處理
public class Dessert {
public static void main(String[] args) {
String[][] dessert = new String[3][];                     // [3]表示陣列長度
dessert[0] = new String[] {"布丁","烤布蕾"};
dessert[1] = new String[] {"馬卡龍","三明治","鬆餅"};
dessert[2] = new String[] {"提拉米蘇","水果塔","黑森林蛋糕","千層派"};

for (int i=0 ; i<dessert.length; i++){                                       // 小於dessert的長度,則i++
for (int j=0; j<dessert[i].length; j++){                                  // 小於dessert[i]的長度,則j++
System.out.print(dessert[i][j]+" ");     
 
                                     System.out.println();
                        }
} // end of main
} // end of Dessert


---------------------------------------------------------------------------------------------------
Result:
布丁 烤布蕾 
馬卡龍 三明治 鬆餅 
提拉米蘇 水果塔 黑森林蛋糕 千層派 

====================================================================================================
多重迴圈:

Tips: 外層迴圈會先跑,在往內層迴圈跑,必須等到內層迴圈跑完之後,才會繼續執行下一次的外層迴圈!!!

SO, System.out.print 會先印出第一列的元素 [0][0](布丁),再印出[0][1](烤布蕾),在繼續往下一列印





沒有留言:

張貼留言