Bạn có thể lồng cho mỗi vòng không?

Nếu một vòng lặp tồn tại bên trong phần thân của một vòng lặp khác, nó được gọi là vòng lặp lồng nhau. Đây là một ví dụ về vòng lặp

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
2 lồng nhau

// outer loop
for (int i = 1; i <= 5; ++i) {
  // codes

  // inner loop
  for(int j = 1; j <=2; ++j) {
    // codes
  }
..
}

Ở đây, chúng tôi đang sử dụng một vòng lặp

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
2 bên trong một vòng lặp
class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
2 khác

Chúng ta có thể sử dụng vòng lặp lồng nhau để lặp lại từng ngày trong tuần trong 3 tuần

Trong trường hợp này, chúng ta có thể tạo một vòng lặp để lặp lại ba lần (3 tuần). Và, bên trong vòng lặp, chúng ta có thể tạo một vòng lặp khác để lặp lại 7 lần (7 ngày)


ví dụ 1. Java lồng nhau cho vòng lặp

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}

đầu ra

Week: 1
  Day: 1
  Day: 2
  Day: 3
    ....  .  ....
Week: 2
  Day: 1
  Day: 2
  Day: 3
  ...  .  ....
...  . ....

Trong ví dụ trên, vòng lặp bên ngoài lặp lại 3 lần và in 3 tuần. Và, vòng lặp bên trong lặp lại 7 lần và in 7 ngày

Chúng ta cũng có thể tạo các vòng lặp lồng nhau với while và do. trong khi theo cách tương tự

Ghi chú. Có thể sử dụng một loại vòng lặp bên trong phần thân của vòng lặp khác. Ví dụ, chúng ta có thể đặt một vòng lặp

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
2 bên trong vòng lặp
class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
6


ví dụ 2. Java cho vòng lặp bên trong vòng lặp while

________số 8

đầu ra

Week: 1
  Day: 1
  Day: 2
  Day: 3
  ... . ....
Week: 2
  Day: 1
  Day: 2
  Day: 3
  ... . ....
... . ....

Ở đây bạn có thể thấy rằng đầu ra của cả Ví dụ 1 và Ví dụ 2 đều giống nhau


ví dụ 3. Các vòng lặp lồng nhau trong Java để tạo một mẫu

Chúng ta có thể sử dụng vòng lặp lồng nhau trong Java để tạo các mẫu như kim tự tháp đầy đủ, nửa kim tự tháp, kim tự tháp ngược, v.v.

Đây là chương trình tạo mô hình nửa kim tự tháp bằng cách sử dụng các vòng lặp lồng nhau

// outer loop
for (int i = 1; i <= 5; ++i) {
  // codes

  // inner loop
  for(int j = 1; j <=2; ++j) {
    // codes
  }
..
}
0

đầu ra

// outer loop
for (int i = 1; i <= 5; ++i) {
  // codes

  // inner loop
  for(int j = 1; j <=2; ++j) {
    // codes
  }
..
}
1

Để tìm hiểu thêm, hãy truy cập chương trình Java để in kim tự tháp và các mẫu


phá vỡ và tiếp tục Inside Nested Loops

Khi chúng ta sử dụng câu lệnh

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
7 bên trong vòng lặp bên trong, nó sẽ kết thúc vòng lặp bên trong nhưng không kết thúc vòng lặp bên ngoài. Ví dụ,

// outer loop
for (int i = 1; i <= 5; ++i) {
  // codes

  // inner loop
  for(int j = 1; j <=2; ++j) {
    // codes
  }
..
}
3

đầu ra

// outer loop
for (int i = 1; i <= 5; ++i) {
  // codes

  // inner loop
  for(int j = 1; j <=2; ++j) {
    // codes
  }
..
}
4

Trong ví dụ trên, chúng tôi đã sử dụng câu lệnh break bên trong vòng lặp

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
2 bên trong. Ở đây, chương trình bỏ qua vòng lặp khi tôi là 2

Do đó, ngày trong tuần 2 không được in. Tuy nhiên, vòng lặp bên ngoài in tuần không bị ảnh hưởng


Tương tự, khi chúng ta sử dụng câu lệnh

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
9 bên trong vòng lặp bên trong, nó chỉ bỏ qua bước lặp hiện tại của vòng lặp bên trong. Vòng lặp bên ngoài không bị ảnh hưởng. Ví dụ,

// outer loop
for (int i = 1; i <= 5; ++i) {
  // codes

  // inner loop
  for(int j = 1; j <=2; ++j) {
    // codes
  }
..
}
7

đầu ra

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
0

Trong ví dụ trên, chúng ta đã sử dụng câu lệnh continue bên trong vòng lặp for bên trong. Chú ý mã,

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
1

Ở đây, câu lệnh

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
9 được thực thi khi giá trị của j là số lẻ. Do đó, chương trình chỉ in ra những ngày chẵn

Chúng ta có thể thấy câu lệnh

class Main {
  public static void main(String[] args) {

    int weeks = 3;
    int days = 7;

    // outer loop prints weeks
    for (int i = 1; i <= weeks; ++i) {
      System.out.println("Week: " + i);

      // inner loop prints days
      for (int j = 1; j <= days; ++j) {
        System.out.println("  Day: " + j);
      }
    }
  }
}
9 chỉ ảnh hưởng đến vòng lặp bên trong. Vòng lặp bên ngoài đang hoạt động mà không có vấn đề gì

Chúng ta có thể sử dụng lồng nhau cho mỗi vòng lặp không?

Vì khối mã của một vòng lặp có thể bao gồm bất kỳ câu lệnh C++ hợp pháp nào nên bạn có thể đặt một vòng lặp bên trong vòng lặp. Vòng lặp bên trong được lồng bên trong vòng lặp bên ngoài. Các vòng lặp lồng nhau hữu ích khi mỗi lần đi qua vòng lặp ngoài, bạn cần lặp lại một số thao tác trên dữ liệu ở vòng lặp ngoài .

Bạn có thể lồng bao nhiêu vòng lặp?

@FredSmith. Các vòng lặp for(;;) được lồng vào nhau, vì vậy tất cả chúng đều bắt đầu từ vòng lặp lồng nhau nhất, đó là infinite .

Có thể lồng vòng lặp while vào trong vòng lặp for không?

Có, bạn có thể sử dụng vòng lặp lồng nhau . Bạn có thể sử dụng vòng lặp for bên trong vòng lặp while.

Bạn có thể lồng một vòng lặp for vào một vòng lặp for không?

Nếu một vòng lặp tồn tại bên trong phần thân của một vòng lặp khác, thì vòng lặp đó được gọi là vòng lặp lồng nhau . Đây là một ví dụ về vòng lặp for lồng nhau. // vòng lặp ngoài for (int i = 1; i