🔀 Câu Lệnh Điều Kiện: if-else
Mục Tiêu Bài Học
Sau bài này, bạn sẽ:
- ✅ Biết cách sử dụng
if,else if,elseđể ra quyết định - ✅ Hiểu if expressions (trả về giá trị!)
- ✅ Tránh được lỗi thường gặp với conditions
- ✅ Viết nested conditions rõ ràng và dễ đọc
🤔 Tại Sao Cần Điều Kiện?
Hãy tưởng tượng bạn đang xây nhà. Đồ bảo hộ an toàn (Rust) cần kiểm tra điều kiện:
- Nếu trời mưa → Dừng làm việc trên mái nhà
- Nếu nhiệt độ quá cao → Nghỉ giữa trưa
- Nếu không → Tiếp tục làm việc bình thường
Trong code, chúng ta cũng cần ra quyết định dựa trên điều kiện!
📝 If Cơ Bản
Cú Pháp
if điều_kiện {
// Code chạy nếu điều kiện đúng
}
Ví Dụ Đơn Giản
fn main() {
let tuoi = 18;
if tuoi >= 18 {
println!("Bạn đủ tuổi thi bằng lái xe!");
}
}
Gi ải thích:
if tuoi >= 18→ Kiểm tra điều kiện- Dấu
{}→ Code block chỉ chạy nếu điều kiện đúng - Nếu
tuoi < 18→ Không in gì cả
Chú Ý
Điều kiện trong if phải là boolean (true hoặc false). Không như C/Python, Rust không tự động chuyển đổi kiểu dữ liệu!
// ❌ Lỗi - Rust không chấp nhận
if 5 {
println!("Số 5");
}
// ✅ Đúng - Phải dùng boolean
if 5 > 0 {
println!("Số 5 lớn hơn 0");
}
🔄 If-Else: Hai Lựa Chọn
Cú Pháp
if điều_kiện {
// Code nếu điều kiện đúng
} else {
// Code nếu điều kiện sai
}
Ví Dụ Thực Tế
fn main() {
let diem = 75;
if diem >= 50 {
println!("🎉 Chúc mừng! Bạn đã đậu!");
} else {
println!("😢 Tiếc quá! Bạn chưa đậu. Cố gắng lần sau!");
}
}
Kết quả:
🎉 Chúc mừng! Bạn đã đậu!
🎯 Else If: Nhiều Điều Kiện
Khi có nhiều khả năng, dùng else if:
Cú Pháp
if điều_kiện_1 {
// Code cho trường hợp 1
} else if điều_kiện_2 {
// Code cho trường hợp 2
} else if điều_kiện_3 {
// Code cho trường hợp 3
} else {
// Code cho các trường hợp còn lại
}
Ví Dụ: Xếp Loại Học Lực
fn main() {
let diem = 85;
if diem >= 90 {
println!("🌟 Xuất sắc!");
} else if diem >= 80 {
println!("😊 Giỏi!");
} else if diem >= 70 {
println!("🙂 Khá!");
} else if diem >= 50 {
println!("😐 Trung bình!");
} else {
println!("😢 Yếu!");
}
}
Kết quả:
😊 Giỏi!
Giải thích:
- Kiểm tra
diem >= 90→ Sai (85 < 90) - Kiểm tra
diem >= 80→ Đúng! ✅ - In "Giỏi!" và dừng lại (không kiểm tra tiếp)
Mẹo Hay
Rust kiểm tra điều kiện từ trên xuống và dừng ngay khi gặp điều kiện đúng đầu tiên!
let x = 100;
if x > 50 {
println!("Lớn hơn 50"); // ✅ Chạy cái này
} else if x > 75 {
println!("Lớn hơn 75"); // ⏭️ Không chạy (đã dừng rồi)
}
💡 If Expressions: Trả Về Giá Trị!
Điểm siêu đặc biệt của Rust: if là một expression (biểu thức), có thể trả về giá trị!