Vòng lặp for trong Java – Bài viết này sẽ giúp các bạn hiểu cách thức hoạt động của vòng lặp for cũng như cách sử dụng chúng.
Những trường hợp dùng vòng for
Đôi khi chúng ta phải làm thực hiện lặp đi lặp lại một đoạn mã chương trình giống nhau, vậy có cách nào giảm độ dài của chương trình lại mà vẫn thực hiện đúng yêu cầu bài toán.
Ví dụ in ra màn hình từ 1 đến 5.
public class Test { public static void main(String[] args){ System.out.println(1); System.out.println(2); System.out.println(3); System.out.println(4); System.out.println(5); } }
1 2 3 4 5
Vậy nếu in ra màn hình từ 1 đến 100 thì sao ? Không lẽ bạn viết 100 câu lệnh println()
. Trong java hỗ trợ một vòng lặp for giúp bạn giải quyết những vấn đề như vậy.
Vòng lặp for trong java
Cấu trúc của vòng lặp
for( khởi_tạo ; biểu_thức_điều_kiện ; cập_nhật ){ khối lệnh ; }
- Trong đó khởi_tạo chỉ được chạy một lần ngay từ lần chạy đầu tiên, khởi_tạo có thể có hoặc không.
- Sau khi chạy khởi_tạo chạy, chương trình sẽ xét biểu_thức_điều_kiện . Nếu biểu_thức_điều_kiện trả về
true
thì khối lệnh được chạy. Nếu biểu_thức_điều_kiện trả vềfalse
thì sẽ kết thúc vòng for. - Lệnh biểu_thức_điều_kiện bắt buộc phải có trong vòng lặp.
- Sau khi khối lệnh được, luồng điều khiển nhảy trở lại lệnh cập_nhật. Lệnh này cho phép bạn cập nhật bất kỳ biến điều khiển vòng lặp. Lệnh này có thể có hoặc không.
- Sau đó chương trình lại chạy tới lệnh biểu_thức_điều_kiện, nếu là
true
chương trình lại lặp lại như trên. Nếu làfalse
vòng for sẽ kết thúc. - Ở phía trước và phía sau biểu_thức_điều_kiện bắt buộc phải có dấu chấm phẩy ;
Chúng ta cùng làm lại ví dụ ở trên
public class Test { public static void main(String[] args){ for (int i = 1; i <=5 ; i++){ System.out.println(i); } } }
1 2 3 4 5
Chúng ta có thể bỏ phần khởi_tạo như sau
public class Test { public static void main(String[] args){ int i =1; for ( ; i <=5 ; i++){ System.out.println(i); } } }
Hoặc có thể bỏ cả phần khởi_tạo và phần cập_nhật
public class Test { public static void main(String[] args){ int i =1; for ( ; i <=5 ; ){ System.out.println(i); i++; } } }
Nhưng các bạn có thấy, nếu bỏ phần khởi_tạo thì chúng ta lại phải khởi tạo biến i trước vòng for. Hoặc nếu bỏ phần cập_nhật thì bạn lại phải tăng giá trị biến i trong khối lệnh. Lời khuyên của mình là các bạn nên viết cấu trúc vòng for dạng đầy đủ như vậy chương trình của bạn sẽ rõ ràng và dễ quản lí hơn rất nhiều.
Để lại một bình luận