Trong lập trình Java, có ba loại cấu trúc điều khiển luồng chính: cấu trúc tuần tự, cấu trúc nhánh và cấu trúc lặp. Dưới đây là cách sử dụng chi tiết.
Cấu trúc tuần tự
Cấu trúc tuần tự thực thi các dòng mã từ trên xuống dưới mà không có bất kỳ điều kiện hoặc nhảy qua lệnh nào.
Ví dụ:
public class ThuTu {
public static void main(String[] args) {
System.out.println("Thức dậy lúc 8 giờ sáng và ăn mì trứng.");
System.out.println("Trưa họp tại công ty và sửa lỗi chương trình.");
System.out.println("Tối làm thêm giờ đến khuya.");
System.out.println("Về nhà học tối ưu hóa cơ sở dữ liệu MySQL.");
}
}
Cấu trúc nhánh
Cấu trúc nhánh giúp chọn một trong nhiều hướng đi dựa trên điều kiện.
Sử dụng câu lệnh if
Câu lệnh if kiểm tra điều kiện và thực hiện khối mã nếu điều kiện đúng.
Ví dụ:
int tuoi = 20;
if (tuoi >= 18) {
System.out.println("Bạn đã đủ tuổi để lái xe.");
}
Câu lệnh if-else
Nếu điều kiện đúng thì thực hiện khối if, nếu không thì thực hiện khối else.
Ví dụ:
int tuoi = 16;
if (tuoi >= 18) {
System.out.println("Đủ tuổi lái xe.");
} else {
System.out.println("Chưa đủ tuổi lái xe.");
}
Câu lệnh if-else-if
Kiểm tra nhiều điều kiện liên tiếp.
Ví dụ đánh giá điểm số:
int diem = 85;
if (diem >= 90) {
System.out.println("Xuất sắc");
} else if (diem >= 80) {
System.out.println("Tốt");
} else if (diem >= 70) {
System.out.println("Khá");
} else if (diem >= 60) {
System.out.println("Trung bình");
} else {
System.out.println("Yếu");
}
Nhúng câu lệnh if
Câu lệnh if có thể được nhúng vào nhau.
Ví dụ đua marathon:
double thoiGian = 9.5;
int gioiTinh = 0; // 0 nam, 1 nữ
if (thoiGian < 10) {
System.out.println("Vào vòng chung kết.");
if (gioiTinh == 0) {
System.out.println("Nhóm nam.");
} else if (gioiTinh == 1) {
System.out.println("Nhóm nữ.");
} else {
System.out.println("Dữ liệu sai.");
}
}
Kiểm tra năm nhuận
Ví dụ:
int nam = 2024;
if ((nam % 4 == 0 && nam % 100 != 0) || nam % 400 == 0) {
System.out.println(nam + " là năm nhuận.");
} else {
System.out.println(nam + " không phải năm nhuận.");
}
Câu lệnh switch
Switch dùng để chọn giữa nhiều lựa chọn bằng cách so sánh giá trị.
Ví dụ quay thưởng:
int giaTriQuayThuong = 3;
switch (giaTriQuayThuong) {
case 1:
System.out.println("Điện thoại mới.");
break;
case 2:
System.out.println("Máy tính bảng.");
break;
case 3:
System.out.println("Tai nghe.");
break;
default:
System.out.println("Không trúng thưởng.");
break;
}
Cấu trúc lặp
Lặp giúp thực hiện lại một đoạn mã nhiều lần.
Vòng lặp while
Thực hiện khi điều kiện đúng.
Ví dụ in "Xin chào" 5 lần:
int i = 0;
while (i < 5) {
System.out.println("Xin chào!");
i++;
}
Vòng lặp do-while
Thực hiện ít nhất một lần trước khi kiểm tra điều kiện.
Ví dụ nhập số nguyên dương:
Scanner scanner = new Scanner(System.in);
int so = -1;
do {
System.out.println("Nhập số nguyên dương:");
so = scanner.nextInt();
} while (so <= 0);
Vòng lặp for
For dùng để lặp với số lần xác định.
Ví dụ tính tổng từ 1 đến 100:
int tong = 0;
for (int j = 1; j <= 100; j++) {
tong += j;
}
System.out.println("Tổng từ 1 đến 100 là: " + tong);
Các từ khóa break và continue
break: Kết thúc vòng lặp.continue: Bỏ qua phần còn lại của vòng lặp hiện tại.
Ví dụ tìm số chia hết cho 3:
for (int k = 1; k <= 20; k++) {
if (k % 3 != 0) {
continue;
}
System.out.println(k);
}
Nhúng vòng lặp
Các vòng lặp có thể được nhúng vào nhau.
Ví dụ in bảng cửu chương:
for (int dong = 1; dong <= 9; dong++) {
for (int cot = 1; cot <= dong; cot++) {
System.out.print(cot + "*" + dong + "=" + (dong * cot) + "\t");
}
System.out.println();
}