Vòng lặp for trong java

  -  

Vòng lặp for

Cú pháp

Vòng lặp for thườngđược sử dụngkhi người dùng biết được số lần thực thi khối lệnh. Nó khátương tự với vòng lặp while, trong đó khối lệnhtrong thân của vòng lặp for được thực thi cho đếnkhi điều kiện được đề ra là sai. Cũng giống như vòng lặp while, điều kiện được kiểm tra trước khi khối lệnhđược thực thi.

Bạn đang xem: Vòng lặp for trong java

Cú pháp sử dụng cho câu lệnh là như sau:


, trong đó,

khởi_tạo_biến_đếm: Là một biểu thức mà sẽ thiết lập giá trị khởi tạo cho biến đếm, đó là biến điều khiển vòng lặp.

điều_kiện: Làm một biểu thứcboolean mà để kiểm tra giá trị của biến điều khiển vòng lặp có thỏa mãn điều kiện đề ra hay không. Nếu điều kiện là đúng thì khối_lệnh tiếp tục được thực thi, ngược lại thì dừng vòng lặp.

thay_đổi_biến_đếm: Bao gồm câu lệnh để thay đổi giá trị của biến đếm trong mỗi lần lặp. Thông thường trong câu lệnh dùng các toán tử tăng giảm như ++, --, hoặc các phép toán gán rút gọn như +=, -=. Không có dấu chấm phẩy (;) ở phía cuối của câu lệnh tăng giảm. Tất cả có ba phần khai báo được phân cách nhau bằng dấu (;).

Hình sau thể hiện luồng thực thi của vòng lặp for.

*

Như thể hiện, việc thực thi vòng lặp bắt đầu với phần khởi tạo (initialization), nói chung phần khởi tạo làmột biểu thức dùng để thiết lập giá trị cho biến điều khiển vòng lặpvà đóng vai trò như một biến đếm. Biểu thức khởi tạo được thực thi chỉ một lần duy nhất khi vòng lặp bắt đầu được thực thi. Tiếp theo, biểu thức điều kiện (condition) được thực hiện và kiểm tra xem biến điều khiển vòng lặp có thỏa mãn với giá trị đề ra hay không, nếu thỏa mãn thì thực hiện khối lệnh (statements), ngược lại thì thoát khỏi vòng lặp for.

Đoạn mã 1 sau thể hiện việc sử dụng vòng lặp for để hiển thị phép nhân với 10 của từng số từ 1 đến 5.

Đoạn mã 1:


public class PrintMultiplesWithForLoop {

public static void main(String<> args) {

int num, product;

//Vòng lặp for bao gồm 3 thành phần

for (num = 1; num for (int num = 1; num

//khối_lệnh

}


Sử dụng toán tử dấu phẩy trong vòng lặp for

Vòng lặp for có thể được mở rộng để cho phép cónhiều hơn một biểu thức khởi tạo hoặc biểu thức tăng/giảm bằng cách dùng toán tử (,) để phân cách các biểu thức này. Khi đó việc thực thi các biểu thức sẽ tuân theo thứ tự thực hiện từ trái sang phải. Thứ tự thực hiện này là quan trọng trong trường hợpgiá trị của biểu thức thứ hai phụ thuộc vào giá trị tính toán được ở biểu thức thứ nhất.

Đoạn mã 3cho thấy việc sử dụng vòng lặp để in ra một bảng tính cộng hai biến sử dụng toán tử (,).

Đoạn mã3:


public class ForLoopWithComma {

public static void main(String<> args) {

int i, j;

int max = 10; /* Phần khởi tạo và phầntăng/giảm chứa đựng nhiều hơn một câu lệnh*/

for (i = 0, j = max; i * trong khi giá trị của biến flag là not true*/

for (; !flag; num++) {

System.out.println(“Value of num: “ + num);

if (num == 5) {

flag = true;

}

} //Kết thúc vòng lặp for

}

}


Vòng lặp for ở trên sẽ được thực thi cho đến khi flag được đặt là true.Kết quả của đoạn mã là như sau:

*

Vòng lặp for không xác định

Nếu tất cả ba biểu thức đều trống, thì sẽ dẫn đến một vòng lặp không xác định, lý do là bởi vì không có điều kiện để kiểm soát vòng lặp.

Đoạn mã 5 thể hiện vòng lặp for không xác định.

Đoạn mã 5:


.....

for( ; ; ) {

System.out.println(“This will go on and on”);

}

.....


Đoạn mã sẽ in ra'This will go on and on' cho đến khi vòng lặp được ngắt bằng tay. Câu lệnh break có thể được sử dụng để ngắt vòng lặp. Vòng lặp không giới hạn làm cho chương trình chạy trong thời gian dài dẫn đến việc tiêu thụ tất cả các nguồn lực và dừng hệ thống. Vì thế, trong chương trình ta cần phải tránh những vòng lặp dạng như vậy.

Xem thêm: Định Nghĩa Của Từ " Smile Dịch Sang Tiếng Việt, Nghĩa Của Từ Smile

Khi giá trị nhập vào của chương trình không được biết trước, thì ta có thể sử dụng loại vòng lặp không xác định trong chương trình, trong đó nó sẽ chờ cho đến khi người dùng nhập liệu. Vì vậy, khi người dùng nhập liệu, thì hệ thống sẽ xử lý đầu vào, sau đó lại bắt đầu thực thi vòng lặp vô hạn.

Vòng lặp for cải tiến

Java SE 5 trở đi đã mở rộng vòng lặp for cơ bản để tăng khả năng đọc của vòng lặp. Phiên bản mới của vòng lặp for thực thi theo kiểu 'for-each', còn được gọi với tên là vòng lặp for cải tiến.

Vòng lặp for cải tiến được thiết kế để truy xuất hoặc lặp thông qua tập hợp các đối tượng như mảng thông thường,ArrayList, LinkedList, HashSet, ...Những lớp này được định nghĩa trong framework tập hợp và được sử dụng để lưu các đối tượng.

Cú pháp sử dụng vòng lặp for cải tiến như sau:

Cú pháp:


for (type var : collection) {

// khối_lệnh

}


trong đó,

type: là kiểu của tập hợp.

var: là biến lặp dùng để lưu từng phần tử của tập hợp qua mỗi lần lặp.Vòng lặp for cải tiến sẽ lặp từ phần tử đầu đến phần tử cuối của tập hợp, mỗi lần lặp sẽ lấy một phần tử lưu vào biến var.

Sau khi lấy xong phần tử cuối của tập hợp thì vòng lặp sẽ kết thúc.

Đoạn mã 6 sau đây sử dụng vòng lặp for thường để nhập liệu cho mảng chuỗi str và dùng vòng lặp forcải tiến để in ra các phần tử của mảng chuỗi đó.

Đoạn mã 6:


package demo;

import java.util.Scanner;

public class Demo3 {

public static void main(String<> args) {

Scanner input = new Scanner(System.in);

String<> str = new String<5>;

System.out.println("Nhập liệu các chuỗi:");

for(int i=0; i5. Thân của vòng lặp for ngoài chưa vòng lặp for trong, trong đó biến đếm col được khởi tạo giá trị ban đầu là 1. Vòng lặp for trong sẽ được thực thi cho đến khi col>row.

Mỗi khi thực hiện xong vòng lặp for bên trong thì quyền điều khiển lại chuyển ra thành phần thứ 3 của vòng lặp for ngoài để tăng biến đếm row 1 đơn vị, rồi chuyển sangthành phần thứ 2 để kiểm tra điều kiện, nếu điều kiện đúng thì tiếp tục thực hiện vòng lặp for trong.

Output của đoạn mã trên như sau:

** ** * ** * * ** * * * *

So sánh giữa các loại vòng lặp

Lựa chọn vòng lặp nào vào lập trình là dựa trên thực tế hoặc kinh nghiệm lập trình của bạn. Bảng dưới đây sẽ so sánh các loại vòng lặp với nhau, giúp bạn hiểu rõ hơn về chúng.

while/fordo-while
Kiểm tra điều kiện trước, rồi mới thực thi khối lệnh.Thực thi khối lệnh trước, rồi mới kiểm tra điều kiện.
Nếu điều kiện sai ngay từ đầu thì không thực thi.

Xem thêm:

Thực thi ít nhất 1 lần ngay cả khi điều kiện sai ngay từ đầu.
Nếu bạn có điều thắc mắc, bạn hãy comment cho backlinks.vn để được giải đáp. Bài viết này được chia sẻ bởi LongDT. Nếu bạn muốn chia sẻ bài viết, bạn hãy Đăng ký làm thành viên! « Prev

Next » Đăng ký học thử Đăng ký khóa học



Đăng ký khóa học ×