2.5.1 switch – case (1)

Chúng ta đã được học về câu lệnh if, và khi có nhiều câu lệnh if được đặt liên tiếp nhau thì nó trông sẽ như thế này →

Tất nhiên là nếu code như thế này thì cũng chẳng vấn đề gì lớn nhưng code sẽ khó đọc nếu có quá nhiều lệnh if. C++ đưa ra một phương pháp khác tốt hơn thay cho việc phải dùng quá nhiều lệnh if  như thế này. Đó chính là cấu trúc lệnh switch…case. Hãy xem đoạn code dưới đây →

Đây là một ví dụ về việc thay thế một loạt các câu lệnh if…else if…else if… bằng câu lệnh switch…case.

Vậy câu lệnh switch…case hoạt động như thế nào ?

Đầu tiên, giá trị của biểu thức trong dấu ngoặc đơn (ngay sau từ khóa switch) sẽ được tính toán. Sau đó chương trình sẽ tìm ra case xử lý mà giá trị ngay sau nó bằng với giá trị của biểu thức. Khi một case được tìm thấy thì những câu lệnh đằng sau dấu “:” sẽ được thực thi cho đến khi gặp từ khóa break hoặc đã đi đến cuối của switch. 

Vậy nếu không có case nào có giá trị trùng với giá trị của biểu thức đằng sau switch ? Câu trả lời là không có nhánh nào của câu lệnh switch…case được thực thi cả.