Trong hướng dẫn này, chúng ta sẽ tìm hiểu về vòng lặp cho từng Java và sự khác biệt của nó với vòng lặp for với sự trợ giúp của các ví dụ.
Trong Java, vòng lặp for-each được sử dụng để lặp qua các phần tử của mảng và tập hợp (như ArrayList). Nó còn được gọi là vòng lặp for nâng cao.
for-each Loop Sytnax
Cú pháp của vòng lặp cho mỗi Java là:
for(dataType item : array) (… )
Đây,
- mảng - một mảng hoặc một tập hợp
- item - mỗi mục của mảng / tập hợp được gán cho biến này
- dataType - kiểu dữ liệu của mảng / tập hợp
Ví dụ 1: In các phần tử mảng
// print array elements class Main ( public static void main(String() args) ( // create an array int() numbers = (3, 9, 5, -5); // for each loop for (int number: numbers) ( System.out.println(number); ) ) )
Đầu ra
3 9 5 -5
Ở đây, chúng ta đã sử dụng vòng lặp for-each để in từng phần tử của mảng số một.
- Trong lần lặp đầu tiên, mục sẽ là 3.
- Trong lần lặp thứ hai, mục sẽ là 9.
- Trong lần lặp thứ ba, mục sẽ là 5.
- Trong lần lặp thứ tư, mục sẽ là -5.
Ví dụ 2: Tổng các phần tử mảng
// Calculate the sum of all elements of an array class Main ( public static void main(String() args) ( // an array of numbers int() numbers = (3, 4, 5, -5, 0, 12); int sum = 0; // iterating through each element of the array for (int number: numbers) ( sum += number; ) System.out.println("Sum = " + sum); ) )
Đầu ra :
Tổng = 19
Trong chương trình trên, việc thực hiện for each
vòng lặp trông như sau:
Lặp lại | Biến |
---|---|
1 | số = 3 tổng = 0 + 3 = 3 |
2 | số = 4 tổng = 3 + 4 = 7 |
3 | số = 5 tổng = 7 + 5 = 12 |
4 | number = -5 sum = 12 + (-5) = 7 |
5 | number = 0 sum = 7 + 0 = 7 |
6 | số = 12 tổng = 7 + 12 = 19 |
Như chúng ta thấy, chúng ta đã thêm từng phần tử của mảng số vào biến tổng trong mỗi lần lặp của vòng lặp.
vòng lặp for Vs for-each loop
Hãy xem for-each
vòng lặp khác với vòng lặp for Java thông thường như thế nào .
1. Sử dụng vòng lặp for
class Main ( public static void main(String() args) ( char() vowels = ('a', 'e', 'i', 'o', 'u'); // iterating through an array using a for loop for (int i = 0; i < vowels.length; ++ i) ( System.out.println(vowels(i)); ) ) )
Đầu ra :
aeiou
2. Sử dụng cho từng Vòng lặp
class Main ( public static void main(String() args) ( char() vowels = ('a', 'e', 'i', 'o', 'u'); // iterating through an array using the for-each loop for (char item: vowels) ( System.out.println(item); ) ) )
Đầu ra :
aeiou
Ở đây, đầu ra của cả hai chương trình là như nhau. Tuy nhiên, vòng lặp for-each dễ viết và dễ hiểu hơn.
Đây là lý do tại sao vòng lặp for-each được ưu tiên hơn vòng lặp for khi làm việc với mảng và tập hợp.