Cấu Trúc Điều Kiện If-Else Và Switch-Case: Dạy Máy Tính Rẽ Nhánh Tư Duy

Trong đời sống hàng ngày, chúng ta liên tục phải đưa ra các quyết định dựa trên điều kiện: "Nếu trời mưa thì mang ô, ngược lại thì đi tay không". Máy tính cũng cần khả năng tư duy tương tự để xử lý dữ liệu một cách linh hoạt. Trong bài viết thứ 6 của chuỗi tự học Java, chúng ta sẽ cùng tìm hiểu hai công cụ rẽ nhánh quan trọng nhất: If-Else và Switch-Case.

Minh họa cấu trúc điều kiện If Else và Switch Case trong Java

1. Cấu Trúc Điều Kiện If-Else

Cấu trúc if-else cho phép chương trình kiểm tra một điều kiện (biểu thức logic trả về true hoặc false) để quyết định đoạn mã nào sẽ được chạy.

a. Dạng thiếu (Chỉ có If)

Dạng này chỉ thực hiện một khối lệnh khi điều kiện đúng. Nếu điều kiện sai, chương trình bỏ qua và chạy tiếp các lệnh phía sau.

int age = 20; if (age >= 18) {     System.out.println("Bạn đã đủ tuổi bầu cử!"); } 

b. Dạng đủ (If - Else)

Dạng này cung cấp phương án dự phòng khi điều kiện không thỏa mãn.

int score = 45; if (score >= 50) {     System.out.println("Bạn đã thi đỗ!"); } else {     System.out.println("Bạn đã thi trượt, cần học lại."); } 

c. Dạng nhiều nhánh (If - Else If - Else)

Khi có nhiều điều kiện cần kiểm tra theo thứ tự từ trên xuống dưới, bạn có thể kết hợp nhiều khối else if.

double gpa = 8.2;  if (gpa >= 9.0) {     System.out.println("Xếp loại: Xuất sắc"); } else if (gpa >= 8.0) {     System.out.println("Xếp loại: Giỏi"); } else if (gpa >= 6.5) {     System.out.println("Xếp loại: Khá"); } else {     System.out.println("Xếp loại: Trung bình/Yếu"); } 

2. Cấu Trúc Rẽ Nhánh Switch-Case

Khi bạn cần so sánh một biến với danh sách nhiều giá trị cố định (ví dụ: các ngày trong tuần, tháng trong năm, menu tùy chọn), việc viết quá nhiều lệnh else if có thể khiến code bị rối. Lúc này, switch-case là giải pháp gọn gàng hơn.

Cú pháp và cách hoạt động

int month = 3;  switch (month) {     case 1:         System.out.println("Tháng Một");         break;     case 2:         System.out.println("Tháng Hai");         break;     case 3:         System.out.println("Tháng Ba");         break;     default:         System.out.println("Tháng không hợp lệ!"); } 

Các thành phần quan trọng:

  • expression: Biểu thức truyền vào switch (thường là kiểu nguyên như int, char hoặc kiểu String).
  • case: Các giá trị cụ thể để so sánh với biểu thức.
  • break: Lệnh thoát khỏi khối switch ngay lập tức khi đã tìm thấy case phù hợp. Nếu quên break, chương trình sẽ tiếp tục thực thi các case bên dưới (hiện tượng fall-through).
  • default: Khối lệnh mặc định sẽ chạy nếu không có case nào trùng khớp với giá trị truyền vào.

3. Khi Nào Nên Dùng If-Else, Khi Nào Dùng Switch-Case?

Mặc dù cả hai cấu trúc đều giúp rẽ nhánh luồng thực thi, bạn nên lựa chọn dựa theo các tiêu chí sau:

  • Dùng If-Else khi: Cần kiểm tra các điều kiện phức tạp, các phép so sánh khoảng (ví dụ: gpa >= 8.0, age < 18 && status == true), hoặc làm việc với các kiểu dữ liệu boolean.
  • Dùng Switch-Case khi: Cần so sánh bằng một giá trị cố định cụ thể với danh sách các trường hợp đếm được (ví dụ: menu chọn 1, 2, 3 hay các tháng trong năm).

Kết Luận

Hiểu và sử dụng thành thạo if-else cùng switch-case giúp bạn chủ động điều khiển máy tính xử lý các bài toán thực tế linh hoạt hơn. Hãy thử viết một vài chương trình nhỏ như kiểm tra số chẵn/lẻ hoặc tạo menu lựa chọn để ghi nhớ kiến thức tốt hơn!


Nguồn tham khảo


📚 Chuỗi bài: Lộ Trình Tự Học Java Từ Con Số 0 Đến Ứng Dụng Thực Tế

Chuỗi 20 bài viết thiết kế dạng 'cầm tay chỉ việc' dành riêng cho người mới bắt đầu học lập trình Java. Lộ trình đi từ tư duy nền tảng, cú pháp cơ bản, lập trình hướng đối tượng (OOP) cho đến hoàn thiện một dự án thực tế nhỏ.

  1. 1. Java Là Giống Gì? Cài Đặt Environment (JDK & IntelliJ IDEA) Cực Nhanh
  2. 2. Giải Mã Chương Trình 'Hello World' Và Cấu Trúc Cơ Bản Của Bài Code Java
  3. 3. Biến Và Kiểu Dữ Liệu Trong Java: Cách Lưu Trữ Thông Tin Đúng Chuẩn
  4. 4. Toán Tử Trong Java: Hướng Dẫn Tính Toán Và So Sánh Chi Tiết
  5. 5. Nhập Xuất Dữ Liệu Với Scanner: Làm Cho Chương Trình Biết Tương Tác
  6. 6. Cấu Trúc Điều Kiện If-Else Và Switch-Case: Dạy Máy Tính Rẽ Nhánh Tư Duy ← Bạn đang đọc
  7. 7. Vòng Lặp For, While Và Do-While Trong Java: Tự Động Hóa Công Việc Lặp Lại
  8. 8. Phương Thức (Method) Trong Java: Tái Sử Dụng Code Một Cách Thông Minh
  9. 9. Mảng Một Chiều (Array) Trong Java: Quản Lý Danh Sách Dữ Liệu Đơn Giản
  10. 10. Bài 10: Xử Lý Chuỗi Dữ Liệu Với String Và StringBuilder Trong Java
  11. 11. Lập Trình Hướng Đối Tượng (OOP): Lớp (Class) Và Đối Tượng (Object) Là Đâu?
  12. 12. Tính Đóng Gói (Encapsulation) Và Access Modifiers: Bảo Vệ Dữ Liệu Safe 100%
  13. 13. Tính Kế Thừa (Inheritance): Tái Sử Dụng Mã Nguồn Với Từ Khóa Extends
  14. 14. Tính Đa Hình (Polymorphism): Nạp Chồng (Overloading) Và Ghi Đè (Overriding)
  15. 15. Lộ Trình Tự Học Java: Tính Trừu Tượng (Abstraction) - Abstract Class Hay Interface?
  16. 16. Xử Lý Ngoại Lệ (Exception Handling): Giúp Chương Trình Không Bị 'Sập' Đột Ngột
  17. 17. Java Collections Framework: Làm Quen Mảng Cố Định Với ArrayList
  18. 18. Lưu Trữ Cặp Dữ Liệu Key-Value Cực Kỳ Nhanh Với HashMap
  19. 19. Đọc Và Ghi File Trong Java: Lưu Trữ Dữ Liệu Lâu Dài Vào Ổ Cứng
  20. 20. Dự Án Thực Tế: Xây Dựng Ứng Dụng Quản Lý Sinh Viên Console Hoàn Chỉnh

← Bài trước: Nhập Xuất Dữ Liệu Với Scanner: Làm Cho Chương Trình Biết Tương Tác Bài tiếp theo: Vòng Lặp For, While Và Do-While Trong Java: Tự Động Hóa Công Việc Lặp Lại →

Nhận xét