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 Java cho mỗi vòng lặp là:
for(dataType item : array) {
...
}
Đây,
- array – an array or a collection
- item – each item of array/collection is assigned to this variable
- dataType – the data type of the array/collection
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.
- In the first iteration, item will be 3.
- In the second iteration, item will be 9.
- In the third iteration, item will be 5.
- In the fourth iteration, item will be -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 :
Sum = 19
Trong chương trình trên, việc thực hiện for each
vòng lặp trông như sau:
Iteration | Variables |
---|---|
1 | number = 3 sum = 0 + 3 = 3 |
2 | number = 4 sum = 3 + 4 = 7 |
3 | number = 5 sum = 7 + 5 = 12 |
4 | number = -5 sum = 12 + (-5) = 7 |
5 | number = 0 sum = 7 + 0 = 7 |
6 | number = 12 sum = 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 :
a e i o u
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 :
a e i o u
Ở đâ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.