1. 程式人生 > >廖雪峰Java-3流程控制-7for迴圈

廖雪峰Java-3流程控制-7for迴圈

for迴圈

for迴圈使用計數器實現迴圈
for迴圈條件需要設定:計數器初始值;迴圈前檢測條件;每次迴圈後如何更新計數器
計數器變數通常命名為i

        int[] ns = {1,4,9,16,25};
        for(int i=0;i<ns.length;i++) {
            System.out.println(ns[i]);
        }

注意:不要在迴圈體內修改計數器
特點:初始化計數器總是被執行;可能迴圈0次
for迴圈可以缺少初始化條件、迴圈條件和每次迴圈更新條件。通常不推薦這樣寫,容易產生死迴圈,如
for(int i=0; ;i++)
for(int i=0; ; )
for( ; ; )

for each迴圈

for each迴圈能夠遍歷陣列和可迭代資料型別,包括List、Map等
for each迴圈無法指定遍歷順序
for each迴圈無法獲得陣列索引
同時遍歷多個數組時,無法使用for each迴圈

        String[] mates = {"tom", "jerry", "morry"};
        for(String s:mates) {
            System.out.println(s);
        }
        int[] ns = {1,4,9,16,25};
        for(int n:ns) {
            System.out.println(n);
        }
        int[] ns1 = {1, 2, 3, 4, 5};
        int[] ns2 = {0, 0, 0, 0, 0};
        for (int i=0;i<ns1.length;i++) {
            ns2[i] = ns1[i] + ns1[i];
        }

總結

  • for迴圈通過計數器進行迴圈
  • for迴圈可以遍歷陣列
  • 最佳實踐:計數器變數定義在for迴圈內部,迴圈體內部不修改計數器
  • for each迴圈可以更簡單的遍歷陣列