
Else: Khi kế hoạch A không như ý, code có ngay kế hoạch B!
Chào các bạn GenZ, lại là Creyt đây! Hôm nay chúng ta sẽ "giải mã" một từ khóa nghe thì đơn giản nhưng lại là xương sống của mọi quyết định trong code của các bạn: else. Hãy coi else như cái "nước đi dự phòng" hay "kế hoạch B" siêu xịn mà bạn luôn có trong tay khi "kế hoạch A" (tức là điều kiện if ban đầu) không xảy ra.
Trong lập trình, cuộc sống không phải lúc nào cũng "màu hồng" đúng không? Sẽ có lúc điều kiện này đúng, lúc điều kiện kia đúng. if là "Nếu điều này xảy ra, thì làm cái này". Thế nhưng, nếu điều đó KHÔNG xảy ra thì sao? Lúc đó, else chính là "cứu cánh" của bạn, nó nói rằng: "À, nếu cái 'if' kia trật lất, thì mày làm cái này cho tao!". Đơn giản là vậy đó.
else là gì và nó làm gì?
Về cơ bản, else luôn đi kèm với if (hoặc else if). Nó định nghĩa một khối lệnh sẽ được thực thi chỉ khi điều kiện của if (hoặc else if liền kề trước đó) là false. Nó là một cặp bài trùng không thể tách rời, tạo nên một cấu trúc điều khiển luồng (control flow) cơ bản nhưng cực kỳ mạnh mẽ.
Hãy tưởng tượng bạn đang chơi game, và có một nhiệm vụ: "Nếu bạn có đủ 100 vàng, bạn mua được thanh kiếm huyền thoại. KHÔNG THÌ, bạn chỉ mua được cái khiên gỗ." Cái "KHÔNG THÌ" đó chính là else trong đời thực và trong code của bạn.
Code Ví Dụ Minh Họa (C++): "Đủ tuổi đi xem phim 18+ chưa?"
Đơn giản mà hiệu quả, chúng ta sẽ viết một đoạn code kiểm tra xem bạn đã đủ tuổi để xem phim có giới hạn độ tuổi hay chưa.
#include <iostream>
int main() {
int tuoiCuaBan;
std::cout << "Creyt hỏi: Bạn bao nhiêu tuổi rồi, GenZ? ";
std::cin >> tuoiCuaBan;
// Đây là if: Kế hoạch A
if (tuoiCuaBan >= 18) {
std::cout << "Tuyệt vời! Bạn đã đủ tuổi để xem phim R-rated (18+). Chúc bạn xem phim vui vẻ!" << std::endl;
}
// Đây là else: Kế hoạch B, khi kế hoạch A không thành công
else {
std::cout << "Ôi tiếc quá! Bạn chưa đủ tuổi để xem phim 18+. Hãy thử lại sau vài năm nữa nhé!" << std::endl;
}
return 0;
}
Trong ví dụ này:
- Nếu
tuoiCuaBanlớn hơn hoặc bằng 18 (điều kiệnifđúng), chương trình sẽ in ra thông báo bạn đủ tuổi. - Ngược lại (điều kiện
ifsai, tức làtuoiCuaBannhỏ hơn 18), khối lệnh trongelsesẽ được thực thi, thông báo bạn chưa đủ tuổi.
Thấy chưa, else biến code của bạn thành một "người ra quyết định" linh hoạt hơn hẳn!

Mẹo và Best Practices từ Creyt
- Luôn dùng ngoặc nhọn
{}: Ngay cả khi khối lệnhifhoặcelsecủa bạn chỉ có một dòng, hãy tập thói quen dùng ngoặc nhọn. Nó giúp code dễ đọc hơn, tránh lỗi khi bạn thêm dòng lệnh mới sau này. Tưởng tượng như bạn đang gói quà vậy, gói cẩn thận thì ai cũng thích!- BAD:
if (a > b) std::cout << "a lon hon b"; else std::cout << "b lon hon a"; - GOOD:
if (a > b) { std::cout << "a lon hon b"; } else { std::cout << "b lon hon a"; }
- BAD:
- Tránh "Kim Tự Tháp Doom" (Pyramid of Doom): Đừng lồng quá nhiều
if-elsevào nhau. Code sẽ trông như một cái kim tự tháp và cực kỳ khó đọc, khó debug. Nếu có nhiều điều kiện, hãy cân nhắc dùngif-else if-elsehoặcswitch-case(chúng ta sẽ học sau). - Tư duy "Logic đối lập":
elseluôn là trường hợp ngược lại của điều kiệniftrước đó. Khi bạn đọc code, hãy tự hỏi: "Nếu điều kiện này KHÔNG đúng thì sao?". Đó chính là lúcelsephát huy tác dụng.
Góc nhìn Harvard: else và nghệ thuật ra quyết định trong lập trình
Từ góc độ học thuật mà nói, else không chỉ là một cú pháp đơn thuần; nó là một viên gạch cơ bản trong kiến trúc của mọi hệ thống thông tin. Nó đại diện cho khả năng của một chương trình máy tính trong việc ra quyết định nhị phân (binary decision-making) dựa trên các điều kiện đã định.
Trong một thế giới lý tưởng, mọi thứ đều rõ ràng. Nhưng trong lập trình, chúng ta phải lường trước mọi kịch bản. if xử lý kịch bản chính, còn else là "lưới an toàn" (fallback mechanism) cho tất cả các kịch bản còn lại. Việc sử dụng else một cách hiệu quả giúp chương trình của bạn trở nên mạnh mẽ, đáng tin cậy và "thông minh" hơn, bởi vì nó có thể phản ứng linh hoạt với các biến động của dữ liệu đầu vào hoặc trạng thái hệ thống. Thiếu else, chương trình của bạn sẽ giống như một người chỉ biết đi thẳng, không biết rẽ hay dừng lại khi gặp chướng ngại vật vậy.
else trong thế giới thực: Bạn gặp nó ở đâu?
else có mặt ở khắp mọi nơi, từ những ứng dụng bạn dùng hàng ngày đến những hệ thống phức tạp nhất:
- Hệ thống đăng nhập (Login Systems):
if(tên đăng nhập và mật khẩu đúng) -> cho phép truy cập.else-> hiển thị "Tên đăng nhập hoặc mật khẩu không đúng."
- Game Logic:
if(người chơi còn máu) -> tiếp tục chơi.else-> "Game Over!"
- Website Thương mại điện tử:
if(sản phẩm còn hàng) -> thêm vào giỏ hàng.else-> hiển thị "Sản phẩm đã hết hàng."
- Ứng dụng thời tiết:
if(nhiệt độ > 30 độ C) -> hiển thị "Trời nóng bức, nhớ uống nước!"else-> hiển thị "Thời tiết dễ chịu."
Thử nghiệm và khi nào nên dùng else?
Bạn nên dùng else khi bạn có một điều kiện mà bạn cần xử lý cả hai trường hợp: khi điều kiện đó đúng và khi điều kiện đó sai. Nó là lựa chọn hoàn hảo cho các tình huống "hoặc cái này, hoặc cái kia".
Thử nghiệm nhỏ: Hãy thử viết một chương trình kiểm tra xem một số nhập vào là số chẵn hay số lẻ. Bạn sẽ thấy else cực kỳ hữu ích!
#include <iostream>
int main() {
int soCuaBan;
std::cout << "Nhập một số nguyên: ";
std::cin >> soCuaBan;
if (soCuaBan % 2 == 0) { // Nếu số dư khi chia cho 2 bằng 0 (là số chẵn)
std::cout << soCuaBan << " là số chẵn." << std::endl;
} else { // Ngược lại (là số lẻ)
std::cout << soCuaBan << " là số lẻ." << std::endl;
}
return 0;
}
Nhớ nhé, else không chỉ là cú pháp, nó là một tư duy về cách chương trình của bạn phản ứng với thế giới. Nắm vững nó, bạn sẽ có thêm một "siêu năng lực" để điều khiển luồng code của mình một cách khéo léo!
Thuộc Series: C++
Bài giảng này được tự động xuất bản ngẫu nhiên từ thư viện kiến thức. Đừng quên đón xem các Từ khoá Hướng Dẫn tiếp theo nhé!