Switch statement trong Java

Switch statement trong Java là một câu lệnh dùng để kiểm tra giá trị của một biến, biến này có thể có nhiều giá trị khác nhau, tuỳ theo giá trị của biến này mà chúng ta có thể định nghĩa một tập các câu lệnh khác nhau để thực thi tuỳ theo nhu cầu.

Ví dụ như mình có biến n có thể có giá trị là 1,2,3. Mình muốn là trong trường hợp giá trị của biến n này là 1, mình sẽ in ra dòng chữ là “Khanh”, giá trị là 2 mình sẽ in dòng chữ “Huong Dan Java”, giá trị 3 thì in dòng chữ “Lap Trinh Java”, sử dụng switch statement, mình sẽ viết code như sau:

Ở đây, chúng ta sử dụng case keyword để handle cho từng giá trị khác nhau của biến n. Giá trị được khai báo cho mỗi case phải là COMPILE TIME CONSTANTS nha các bạn! Điều này có nghĩa là khi compile source code, giá trị của mỗi case phải được xác định, không chờ phải đến khi chương trình chạy, execute tới đoạn code switch này thì giá trị của mỗi case mới được xác định.

Để chỉ execute đúng cho từng giá trị của biến n, chúng ta phải sử dụng thêm từ khoá break để sau khi execute tập lệnh đó, chương trình của chúng ta sẽ thoát khỏi switch statement.

Các bạn còn có thể thấy, chúng ta có thêm default label, label này dùng để xử lý cho những trường hợp mà giá trị của biến n này không nằm trong những trường hợp mà switch statement đã handle. Trong một switch statement, chúng ta có thể không cần phải declare default label cũng được, nếu được declare thì cũng không nhất thiết phải declare theo một order nào đó nha các bạn!

Kết quả khi chúng ta chạy đoạn code trên sẽ như sau:

Switch statement trong Java

Như các bạn thấy, vì giá trị của biến n trong trường hợp này là 1 nên case cho giá trị 1 sẽ được thực thi và in ra dòng chữ “Khanh”. Sau khi in dòng chữ xong, tới câu lệnh break, chương trình của chúng ta sẽ thoát khỏi switch statement.



Trước Java 7, các bạn có thể truyền biến có kiểu char, byte, short, int hay wrapper của chúng Character, Byte, Short, Integer và Enum vào switch statement. Từ Java 7 trở đi, switch statement còn hỗ trợ thêm kiểu dữ liệu là String nữa nha các bạn.

Ví dụ như sau:

Kết quả:

Switch statement trong Java



Các bạn có thể truyền vào switch statement một expression miễn sao giá trị trả về của expression này là kiểu dữ liệu cho phép của switch statement.

Ví dụ như:

Kết quả:

Switch statement trong Java

Add Comment