Luyện tập Vòng lặp trong Java

Ngày đăng: 23/06/2020   -    Cập nhật: 23/06/2020
Bài viết này mình sẽ chia sẻ với bạn các ví dụ luyện tập sử dụng vòng lặp trong Java, giúp bạn thuần thục và thực sự thoải mái khi sử dụng chúng.

Luyện tập Vòng lặp trong Java

Luyện tập Vòng lặp trong Java

Bạn nên nhớ rằng, Kiến thức cơ bản là một trong những viên gạch quan trọng để xây dựng nên những thứ cao siêu và thâm thuý hơn.

Bất kỳ môn phái hay ngành học nào cũng cần luyện tập những những kiến thức căn thật vững.


Bạn càng thoải mái, càng thành thục những vấn đề cơ bản thì khi đụng đến vấn đề phức tạp sẽ biết cách chia chúng thành vấn đề nhỏ để hiểu từng phần.

Riêng đối với việc học lập trình Java. Nếu bạn không thể học 1 hiểu 10 (như thiên tài) thì hãy học 10 để hiểu 1 thật tốt.

Ok, bây giờ chúng ta bắt đầu nào...


1. Một số vòng lặp cơ bản thường gặp trong Java


Trong Java và hầu như mọi ngôn ngữ lập trình khác, khi nhắc đến vòng lặp thì có ba cái tên tiêu biểu nhất, được sử dụng thường xuyên nhất đó là:

  • vòng lập FOR
  • vòng lập WHILE
  • vòng lập DO WHILE

Để hiểu được 3 vòng lặp này trong Java sử dụng như thế nào không khó, chỉ cần bạn luyện tập đủ nhiều là được.

1.1. Vòng lập FOR


Vòng lặp for được sử dụng khi bạn biết chính xác hoặc cụ thể việc bạn muốn lặp lại bao nhiêu lần một hoặc nhiều đoạn code chứa bên trong.

Cú pháp:



for (<biến khởi tạo>; <biểu thức điều kiện>; <tăng/giảm biến>){
    // các lệnh;
}
 

Trong đó:

  • Biến khởi tạo: là biến đã được khai báo để đánh dấu sự bắt đầu của vòng lặp.
  • Biểu thức điều kiện: là một biểu thức kiểm tra trả về giá trị Boolean, vòng lặp được thực thi khi giá trị trả về của biểu thức là True và ngược lại thoát vòng lặp nếu giá trị trả về là False.
  • Tăng/giảm biến: được sử dụng để cập nhật giá trị của biến cho lần lặp tiếp theo.

1.2. Vòng lặp WHILE


Vòng lặp while được sử dụng khi bạn không thể xác định được số lần lặp cụ thể của chương trình.

Cú pháp:



while(<điều kiện>) {
    // các lệnh;
}
 

Vòng lặp WHILE bắt đầu với việc kiểm tra điều kiện.

  • Khi điều kiện đúng, tức giá trị trả về là True thì các câu lệnh trong thân vòng lặp được thực thi.

Thông thường các câu lệnh trong phần thân sẽ chứa một giá trị cập nhật cho biến đang được xử lý cho lần lặp tiếp theo.

  • Khi điều kiện sai, tức kết quả trả về là False, vòng lặp chấm dứt đánh dấu sự kết thúc vòng đời của nó.

1.3. Vòng lặp DO WHILE


Vòng lặp DO WHILE tương tự như vòng lặp WHILE, nhưng kể cả khi điều kiện sai, giá trị trả về là False thì vòng lặp vẫn thực hiện lệnh ít nhất một lần.

Hay chính xác hơn là, DO WHILE kiểm tra điều kiện sau khi thực hiện các câu lệnh.

Cú pháp:



do {
    // các lệnh;
while(<điều kiện>);
 

 
Nhìn cú pháp có thể thấy, điều kiện trong DO WHILE trong Java được kiểm tra sau khi thực hiện các câu lệnh và cập nhật giá trị biến.


  • Nếu điều kiện đúng, lần lặp tiếp theo của vòng lặp sẽ bắt đầu.
  • Khi điều kiện sai, vòng lặp sẽ chấm dứt và đánh dấu sự kết thúc vòng đời của nó. 

2. Sử dụng vòng lặp trong Java để giải quyết một số thuật toán cơ bản thường gặp


Không nói suông lý thuyết nữa, chúng ta sẽ điểm qua một số ví dụ thường gặp để thấy được cái hay ho của các vòng lặp nào.

Ví dụ vòng lặp trong Java #1


Trường hợp bạn cần in các số tự nhiên từ 1 đến 9 ra màn hình. Chẳng lẽ bạn viết câu lệnh System.out.println(9) tận 9 lần sao.

Ừ thì bạn chăm chỉ, bạn Copy -> Paste 9 lần cũng được. Nhưng nếu không phải là in ra từ 1 - 9 mà là in ra từ 1 - 1000 thì sao?

Bạn có đủ sức Copy -> Paste nữa không?

Trong trường hợp như vậy, người ta sẽ sử dụng vòng lặp, vừa để giảm công sức, vừa để giảm code của chương trình.

Sử dụng vòng lặp FOR:



public class VongLapFor {
    public static void main(String[] args) {
        // in các số từ 1 đến 1000
        for(int i = 1; i <= 1000; i++) {
            System.out.println(i);
        }
    }
}
 

Sử dụng vòng lặp WHILE:


public class VongLapWhile {
    public static void main(String[] args) {
        // in các số từ 1 đến 1000
        int i = 1;
        while(i <= 1000) {
            System.out.println(i);
            i++;
        }
    }
}
 

Sử dụng vòng lặp DO WHILE:


public class VongLapDoWhile {
    public static void main(String[] args) {
        int i = 1;
        do {
            System.out.println(i);
            i++;
        } while (i <= 1000);
    }
}
 

Ví dụ vòng lặp trong Java #2


Tính tổng các số tự nhiên từ 1 đến 1000.

Sử dụng vòng lặp FOR:



public class VongLapFor {
    public static void main(String[] args) {
        // Tổng các số từ 1 đến 1000
        int tong = 0;
        for(int i = 1; i <= 1000; i++) {
            tong = tong + i;
        }
        System.out.println(tong);
    }
}
 

Sử dụng vòng lặp WHILE:


public class VongLapWhile {
    public static void main(String[] args) {
        // in các số từ 1 đến 1000
        int i = 1;
        int tong = 0;
        while (i <= 1000) {
            tong = tong + i;
            i++;
        }
        System.out.println(tong);
    }
}
 

Sử dụng vòng lặp DO-WHILE:


public class VongLapDoWhile {
    public static void main(String[] args) {
        // in các số từ 1 đến 1000
        int i = 1;
        int tong = 0;
        do {
            tong = tong + i;
            i++;
        } while (i <= 1000);
        System.out.println(tong);
    }
}
 

Bài này nếu không dùng vòng lặp để giải quyết thì bạn có cách nào khác hoặc đơn giản và nhanh hơn để code không?

Gợi ý!

Công thức tính tổng các số từ 1 đến n là: (n + 1)*(n/2)

Ví dụ vòng lặp trong Java #3


Bây giờ chúng ta thử thao tác với mảng bằng vòng lặp xem nào.

Hãy in tất cả giá trị của mảng cho trước theo thứ tự ngược lại.

Sử dụng vòng lặp FOR:



public class VongLapFor {
    public static void main(String[] args) {
        // Khai báo một mảng
        String[] niit = {
            "1-Java",
            "2-Python",
            "3-PHP",
            "4-JavaScript",
            "5-CSS",
            "6-HTML",
            "7-Big Data"
        };
        // In ngược giá trị của mảng cho trước
        for (int i = niit.length; i > 0 ; i--)
        System.out.println(niit[i-1]);
    }
}
 

 
Sử dụng vòng lặp WHILE:



public class VongLapWhile {
    public static void main(String[] args) {
        // Khai báo một mảng
        String[] niit = {
            "1-Java",
            "2-Python",
            "3-PHP",
            "4-JavaScript",
            "5-CSS",
            "6-HTML",
            "7-Big Data"
        };
        int i = niit.length - 1;
        // In ngược giá trị của mảng cho trước
        while (i >= 0) {
            System.out.println(niit[i]);
            i--;
        }
    }
}
 
 
Sử dụng vòng lặp DO WHILE:



public class VongLapDoWhile {
    public static void main(String[] args) {
        // Khai báo một mảng
        String[] niit = {
            "1-Java",
            "2-Python",
            "3-PHP",
            "4-JavaScript",
            "5-CSS",
            "6-HTML",
            "7-Big Data"
        };
        int i = niit.length - 1;
        // In ngược giá trị của mảng cho trước
        do {
            System.out.println(niit[i]);
            i--;
        } while (i >= 0);
    }
}
 


Trong thao tác với mảng, bạn có thể sử dụng vòng lặp FOR EACH trong Java.

FOR EACH là một kỹ thuật duyệt mảng khác như các vòng lặp trước.

Nhưng thay vì khai báo hay khởi tạo biến lặp vị trí, chúng ta sẽ khai báo một biến chung về 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ử.

Chú ý, vòng lặp FOR EACH không thể thể chỉnh sửa mảng, không thể tìm vị trí phần tử trong mảng và không thể in ngược mảng.

Vì thế, đây là ví dụ sử dụng vòng lặp for each để in mảng theo chiều xuôi nhé.



public class VongLapForEach {
    public static void main(String[] args) {
        // Khai báo một mảng
        String[] niit = {
            "1-Java",
            "2-Python",
            "3-PHP",
            "4-JavaScript",
            "5-CSS",
            "6-HTML",
            "7-Big Data"
        };
        // In tất cả giá trị của mảng cho trước
        for (String i : niit) {
            System.out.println(i);
        }
    }
}
 

Mặc dù cú pháp và các sử dụng khác nhau nhưng các vòng lặp vẫn cho kết quả như nhau.

Vấn đề là ta nên lựa chọn giải pháp sao cho phù hợp nhất để mang lại hiệu quả tốt nhất nhiệm vụ cần giải quyết.


Chúc mừng bạn đã hiểu rõ hơn về vòng lặp trong Java


Vòng lặp đóng vai trò cực kỳ quan trọng trong lập trình, không chỉ riêng gì lập trình Java đâu.

Mỗi loại vòng lặp trong Java có điểm mạnh và hạn chế riêng, do đó bạn cần phải hiểu rõ cú pháp, cách dùng và dùng trong trường hợp như thế nào thì chương trình của bạn mới có hiệu suất tốt được.

Kiến thức về vòng lặp là cơ bản cần phải thật vững để học sâu hơn về lập trình Java.

Nếu bạn bị hổng kiến thức về vòng lập, có lẽ con đường tu luyện Java của bạn sẽ gian nan vô cùng.

> Nếu bạn thấy tự học Java quá khó khăn. Hãy tham gia ngay Khóa học Java (Fullstack) tại NIIT - ICT Hà Nội để lĩnh hội được tất cả những tinh túy của Java bạn nhé.

Hi vọng qua bài chia sẻ này bạn có thêm kiến thức về vòng lặp trong Java. Nếu cảm thấy chưa hiểu rõ, hãy làm lại các ví dụ trên vài lần bạn nhé.

> Đọc thêm: Printf trong Java


> Tài liệu tham khảo: Java Documentation

---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Dạy 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 - 0353655150 
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
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!