Giới thiệu về vòng lặp trong Java
Trong lập trình, khi một đoạn mã cần được thực hiện lặp đi lặp lại, chúng ta sử dụng cấu trúc vòng lặp. Java cung cấp ba loại vòng lặp chính:
- Vòng lặp while
- Vòng lặp do-while
- Vòng lặp for
Vòng lặp while
Cú pháp của vòng lặp while:
while(điều_kiện){
// khối lệnh
}
Quy trình thực hiện:
- Điều kiện được kiểm tra
- Nếu điều kiện là true, khối lệnh được thực thi và quay lại bước 1
- Nếu điều kiện là false, vòng lặp kết thúc
Ví dụ:
int dem = 5;
while(dem <= 15){
System.out.println("Giá trị hiện tại: " + dem);
dem++;
}
Vòng lặp do-while
Cú pháp của vòng lặp do-while:
do{
// khối lệnh
}while(điều_kiện);
Quy trình thực hiện:
- Thực thi khối lệnh
- Kiểm tra điều kiện
- Nếu điều kiện là true, quay lại bước 1
- Nếu điều kiện là false, vòng lặp kết thúc
Ví dụ:
public class LapDoWhile{
public static void hamChinh(){
int dem = 0;
do{
System.out.println("Đếm: " + dem);
dem++;
}while(dem < 5);
}
}
LapDoWhile.hamChinh()
Vòng lặp for
Cú pháp của vòng lặp for:
for(khởi_tạo; điều_kiện; cập_nhật){
// khối lệnh
}
Quy trình thực hiện:
- Thực hiện khởi tạo
- Điều kiện được kiểm tra
- Nếu điều kiện là true, thực thi khối lệnh và quay lại bước 2
- Nếu điều kiện là false, vòng lặp kết thúc
Ví dụ:
for(int so = 2; so <= 12; so += 2){
System.out.println("Số chẵn: " + so);
}
Các câu lệnh điều khiển vòng lặp
Các câu lệnh điều khiển vòng lặp được sử dụng để kiểm soát việc thực thi của vòng lặp:
- Câu lệnh break
- Câu lệnh continue
- Câu lệnh return
Câu lệnh break
Câu lệnh break được sử dụng để thoát khỏi vòng lặp ngay lập tức.
Ví dụ:
for(int so = 1; so <= 10; so++){
if(so == 7){
break;
}
System.out.println("Số: " + so);
}
Câu lệnh continue
Câu lệnh continue được sử dụng để bỏ qua lần lặp hiện tại và chuyển sang lần lặp tiếp theo.
Ví dụ:
for(int so = 1; so <= 10; so++){
if(so % 2 == 0){
continue;
}
System.out.println("Số lẻ: " + so);
}
Câu lệnh return
Câu lệnh return được sử dụng để thoát khỏi phương thức và kết thúc việc thực thi phương thức đó.
Ví dụ:
public static void xuatSo(){
for(int so = 1; so <= 8; so++){
if(so == 5){
return;
}
System.out.println("Số: " + so);
}
}
xuatSo()
Vòng lặp lồng nhau
Trong Java, chúng ta có thể lồng các vòng lặp vào nhau. Tuy nhiên, việc lồng quá nhiều vòng lặp sẽ ảnh hưởng đến khả năng đọc hiểu của mã. Nên hạn chế không quá 3 lớp lồng nhau.
Ví dụ về bảng nhân:
for (int hang = 1; hang <= 9; hang++) {
for (int cot = 1; cot <= hang; cot++) {
System.out.print(hang + " × " + cot + " = " + (hang * cot) + "\t");
}
System.out.println();
}
Lưu ý: Nếu sau for, while, if hoặc các cấu trúc điều kiện khác không có dấu ngoặc nhọn {}, chỉ có câu lệnh ngay sau đó được thực thi. Nếu có nhiều câu lệnh, cần đặt chúng trong dấu ngoặc nhọn {}.
for (int hang = 1; hang <= 9; hang++) {
for (int cot = 1; cot <= hang; cot++)
System.out.print(hang + " × " + cot + " = " + (hang * cot) + "\t"); // \t là ký tự tab
System.out.println();
}