Chào các bạn đã đến với chủ đề tiếp theo của mình. Hôm nay, mình sẽ tiếp tục giới thiệu về vòng lặp For-each và cách sử dụng nó trong Java. Ở bài này, mình sẽ đi qua những nội dung như sau:
Nội dung
1. FOR-EACH là gì? Cú pháp FOR-EACH
1.1. FOR-EACH là gì?
FOR-EACH là một kỹ thuật duyệt mảng khác cũng tương tự như vòng lặp For mình đã giới thiệu ở bài trước. Nhưng thay vì khởi tạo biến lặp vị trí, chúng ta sẽ khai báo một biến chung kiểu dữ liệu của mảng, sử dụng biến đó duyệt các phần tử các mảng mà không cần lấy vị trí (index) của mỗi phần tử.
1.2. Cú pháp FOR-EACH
Cú pháp:
for (<kiểu dữ liệu> <tên biến chạy> : <tên mảng>) {
<Khối lệnh lặp lại>
}
Ví dụ:
public class VongLapForEach {
public static void main(String []args){
// create an array
int numbers[] = {35, 42, 56, 62, 67};
// for each loop to access array elements
for (int number : numbers) {
System.out.println(number);
}
}
}
Sau khi run xong, kết quả sẽ in ra như sau:
35
42
56
62
67
Trong đó:
for
– cú pháp của vòng lặpnumbers
– tên mảngint number
– biến tạm thời. Bạn có thể đặt bất kỳ tên nào cho biến này.
Vòng lặp chạy 5 lần vì mảng có 5 phần tử. Trong mỗi lần lặp, phần tử của mảng được gán cho biến number
. Do đó, ta nhận được phần tử khi in ra number
.
Cách chương trình hoạt động:
Lần lặp | number | Phần thân vòng lặp |
1 | 35 | In ra 35 |
2 | 42 | In ra 42 |
3 | 56 | In ra 56 |
4 | 62 | In ra 62 |
5 | 67 | In ra 67 |
2. Giới hạn của FOR-EACH
2.1. FOR-EACH không thể chỉnh sửa mảng
Vòng lặp FOR-EACH chỉ được dùng để duyệt các phần tử trong mảng, không thể chỉnh sửa được.
2.2. Không thể tìm được vị trí phần tử trong mảng
Vì chúng ta không tác động đến index, thì trong những bài toàn tìm vị trí ta phải dùng for loop.
public class VongLapForEach {
public static void main(String[] args) {
int[] array = {1, 2, 4};
for (int i=0; i<array.length; i++) {
if (array[i] == 4) {
System.out.println("Index:"+i);
}
}
}
}
2.3. Không thể chạy ngược mảng
FOR-EACH chỉ có thể chạy xuôi theo các phần tử của mảng. nếu ta muốn chạy ngược phải sử dụng for loop.
public class VongLapForEach {
public static void main(String[] args) {
int[] array = {1,2,4};
for (int i=array.length-1; i>=0; i--) {
System.out.println(array[i]);
}
}
}
3. Kết
Như vậy chúng ta đã tìm hiểu vòng lặp FOR-EACH 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. Bái bai.