Ví dụ vòng lặp For Each trong Java

Ngày đăng: 02/06/2020   -    Cập nhật: 15/09/2020
Chào bạn, hôm nay mình sẽ giới thiệu cho bạn một vòng lặp đặc biệt dùng để duyệt mảng, tập hợp hay danh sách, đó là vòng lặp for each trong Java.


Vòng lặp For Each trong Java

Vòng lặp For Each trong Java


Nội dung của bài viết này gồm:


  • Cú pháp, ý nghĩa của vòng lặp for each trong java
  • Ưu nhược điểm của for each? Khi nào thì nên sử dụng nó.
  • Một số ví dụ về vòng lặp for-each trong java


1. Cú pháp, ý nghĩa của vòng lặp for each trong java



Vòng lặp for each (hay được gọi là enhanced for) trong Java được giới thiệu trong phiên bản Java 5 (hiện tại đã ra tới phiên bản Java 14).


Vòng lặp for each cung cấp một cách tiếp cận khác để duyệt mảng hoặc collection trong Java tốt hơn.


Nó chủ yếu được sử dụng để duyệt qua các phần tử của mảng hoặc collection.


For each cũng được bắt đầu với từ khóa for giống như trong vòng lặp for thông thường.


Nhưng thay vì khai báo hay khởi tạo biến đếm trong vòng lặp thì chúng ta sẽ khai báo một biến có cùng loại với kiểu cơ sở của mảng, theo sau là dấu hai chấm “ : ” và cuối cùng là tên mảng.


Vòng lặp for each giúp chúng ta duyệt các phần tử trong mảng hay collection mà không cần đến index của các phần tử đó.



Cú pháp của vòng lặp for each trong Java




for (kieuDuLieu bienDaiDien : tenMang) {
    // Khối lệnh được lặp lại
}
 


Ví dụ: Ta có mảng arr = {1, 2, 5, 8, 9}; và bây giờ ta muốn in ra tất cả các phần tử trong mảng mà không sử dụng biến đếm.



// Khai báo một mảng
int[] arr = {12589};
// Sử dụng vòng lặp for each để lặp qua mảng
for(int n : arr) {
    System.out.println(n);
}
 


Kết quả khi chạy chương trình là:



1
2
5
8
9
 


2. Ưu nhược điểm của for each và khi nào nên sử dụng vòng lặp for each trong Java?



Mỗi vòng lặp trong Java được thiết kế với mục đích riêng và nó có ưu nhược điểm khác nhau trong từng trường hợp.


Vòng lặp for each trong Java cũng vậy.



Ưu điểm của vòng lặp for each trong Java



  • Sử dụng vòng lặp for each làm cho code dễ đọc hơn
  • Giảm bớt khả năng lỗi khi lập trình


Nhược điểm của vòng lặp for each trong Java


  • Vòng lặp for each không thể chỉnh sửa mảng, chỉ được dùng để duyệt qua tất cả các phần tử trong mảng.
  • Không thể tìm được vị trí phần tử trong mảng.
  • Vòng lặp for each chỉ duyệt được xuôi, không thể duyệt ngược mảng.


Như bạn thấy, vòng lặp for each có ưu nhược điểm như thế...


Vậy khi nào thì nên sử dụng for each trong lập trình Java?



Bạn có thể sử dụng for each khi bạn chỉ muốn duyệt qua tất cả các phần tử trong mảng hay collection, duyệt từ đầu đến cuối, không bỏ sót một phần tử nào, không cần chỉnh sửa giá trị mảng, không cần tìm index của phần tử trong mảng hay collection.


3. Một số ví dụ về vòng lặp for each trong Java.



Để hiểu rõ cách hoạt động của vòng lặp for each trong Java, hãy cùng làm một vài ví dụ.


Hãy nhớ rằng!

> Bạn có thể hiểu khi đọc qua ví dụ nhưng để chuyển hóa thành kỹ năng thì phải qua bước luyện tập, gõ từng dòng code. Đây mới là phương pháp học lập trình Java giúp bạn thành công.

> Học Lập trình Java bài bản, đi làm nhanh với KHÓA HỌC JAVA cùng chuyên gia doanh nghiệp.


Nào, giờ thì bắt tay làm ví dụ cùng với mình nào.


Ví dụ 1: Sử dụng vòng lặp for each lặp qua mảng số



Ví dụ đầu tiên rất đơn giản, đó là mình có một mảng gồm 8 phần tử arr = {8, 5, 7, 3, 9, 2, 1, 6}.


Để in ra tất cả các phần tử trong mảng mình sẽ sử dụng vòng lặp for each.


Code:




public class ForEachDemo {

    public static void main(String[] args) {
        int[] arr = {85739216};

        for(int n : arr) {
            System.out.print(n);
            System.out.print(" ");
        }
    }
}
 


Kết quả khi chạy chương trình trên:



8 5 7 3 9 2 1 6
 


Ví dụ 2: Tìm giá trị lớn nhất trong mảng bằng vòng lặp for each



Một ví dụ phức tạp hơn một chút, mình cũng sử dụng mảng arr = {8, 5, 7, 3, 9, 2, 1, 6} như ví dụ 1.


Nhưng bây giờ chúng ta sẽ sử dụng vòng lặp for each để tìm ra phần tử lớn nhất trong mảng.
 
 
Code:




public static void main(String[] args) {
    int[] arr = {85739216};

    int max = arr[0];

    for(int n : arr) {
        if(max < n) {
            max = n;
        }
    }

    System.out.println("Phần tử lớn nhất trong mảng là: " + max);
}
 


Kết quả khi chạy chương trình trên là:



Phần tử lớn nhất trong mảng là: 9
 


Ví dụ 3: Dùng vòng lặp for each để duyệt phần tử của Collections




import java.util.ArrayList;
import java.util.List;

public class ForEachDemo {
    public static void main(String[] args) {
        // Tạo một ArrayList
        List<Stringlist = new ArrayList<String>();
        // Thêm phần tử vào ArrayList
        list.add("Java");
        list.add("C++");
        list.add("PHP");
        list.add("Python");
        list.add("C");

        // Sử dụng vòng lặp for each để duyệt ArrayList
        for (String obj : list) {
            System.out.println(obj);
        }
    }
}
 


Kết quả:



Java
C++
PHP
Python
C
 

 

Ví dụ 4: Ví dụ chứng minh vòng lặp for each trong Java không thể chỉnh sửa mảng




public class ForEachDemo {

    public static void main(String[] args) {
        int[] arr = {85739216};

        for(int n : arr) {
            n = 99999//Cố tình gán giá trị 99999 cho từng phần tử của mảng
        }

        for(int n : arr) {
            System.out.print(n);
            System.out.print(" ");
        }
    }
}
 


Kết quả:



8 5 7 3 9 2 1 6
 


Các bạn có thể thấy đó, mặc dù mình cố tình gán 99999 cho mỗi phần tử của mảng dùng for each, nhưng dường như nó là vô ích và không thể gán được.


Chúc mừng bạn đã hiểu thêm về vòng lặp for each trong Java



Như vậy, mình và các bạn vừa tìm hiểu xong về vòng lặp for each trong Java và cách sử dụng nó. Khá đơn phản và dễ hiểu phải không nào…


Hẹn gặp lại các bạn trong các bài viết tiếp theo nhé.



> Đọc thêm: NullPointerException trong Java
> Tài liệu tham khảo: Java Documentation


---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #python #java #php
Bình luận Facebook
Khóa học liên quan đến bài viết

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!