Chào các bạn đã đến với chủ đề tiếp theo của mình. Ở bài trước, mình đã giới thiệu qua cách sử dụng vòng lặp For. Hôm nay, mình sẽ tiếp tục giới thiệu thêm về cách xử lý 2 vòng lặp For lồng nhau trong Java. Ở bài này, mình sẽ đi qua những nội dung như sau:
1. Khái niệm vòng lặp lồng nhau
Vòng lặp lồng nhau là trường hợp dùng một vòng lặp bên trong một vòng lặp khác để giải quyết vấn đề. Vòng lặp bên trong sẽ phải chạy nhiều lần cho đến khi vòng lặp bên ngoài kết thúc. Ví dụ:
// outer loop
for (int i = 0; i < 10; ++i) {
// inner loop
for (int j = 0; j < 10; ++j) {
// do something
}
}
2. Ví dụ về vòng lặp lồng nhau
2.1. Ví dụ 1
Chúng ta hãy cùng phân tích đoạn code sau:
class Main {
public static void main(String[] args) {
String[] features = {"Electric", "Fast"};
String[] cars = {"Tesla", "Porsche", "Mercedes"};
// outer loop
for (int i = 0; i < features.length; ++i) {
// inner loop
for (int j = 0; j < cars.length; ++j) {
System.out.println(features[i] + " " + cars[j]);
}
System.out.println("----");
}
}
}
Sau khi chạy đoạn code trên, kết quả được in ra như sau:
Electric Tesla
Electric Porsche
Electric Mercedes
----
Fast Tesla
Fast Porsche
Fast Mercedes
----
Trong chương trình trên, vòng lặp trong được lặp lại một lần cho mỗi phần tử của mảng features
. Đây là cách chương trình hoạt động:
Lần lặp đầu tiên của Vòng lặp ngoài
- feature là
Electric
, car làTesla
- feature là
Electric
, car làPorsche
- feature là
Electric
, car làMercedes
Lần lặp thứ hai của Vòng lặp ngoài
- feature là
Fast
, car làTesla
- feature là
Fast
, car làPorsche
- feature là
Fast
, car làMercedes
Ngoài ra, chúng ta hãy để ý dòng code System.out.println(“—-“); – dòng code này nằm ngoài vòng lặp trong nhưng lại nằm bên trong vòng lặp ngoài. Vì thế, câu lệnh này sẽ được thực thi 2 lần mỗi khi vòng lặp trong kết thúc, vì nó thuộc vòng lặp bên ngoài, và mảng features có 2 phần tử.
2.2. Ví dụ 2
class Main {
public static void main(String[] args) {
// outer loop iterates from i = 0 to 2
for (int i = 0; i <= 2; ++i) {
// inner loop iterates from j = 0 to 1
for (int j = 0; j <= 1; ++j) {
System.out.println("i = " + i + ", j = " + j);
}
}
}
}
Đầu ra:
i = 0, j = 0
i = 0, j = 1
i = 1, j = 0
i = 1, j = 1
i = 2, j = 0
i = 2, j = 1
Trong chương trình này, vòng lặp ngoài lặp từ i
bằng 0 đến 2. Trong mỗi lần lặp của vòng lặp ngoài, vòng lặp trong lặp từ j
bằng 0 đến 1.
3. Kết
Như vậy chúng ta đã tìm hiểu xong cách xử lý 2 vòng lặp for lồng nhau trong Java. Cảm ơn các bạn đã theo dõi bài viết của mình. Chúc các bạn thành công. Hẹn gặp lại các bạn ở những chủ đề tiếp theo.
Nguồn:
https://tek4.vn/khoa-hoc/lap-trinh-huong-doi-tuong-voi-java/vong-lap-long-nhau-trong-java