Câu lệnh switch
Thuộc phần Nền tảng cơ bản trong hành trình Java của Coddy. Bài học 29 trên 73.
Câu lệnh switch giống như câu lệnh if có nhiều nhánh. Thay vì đánh giá một điều kiện duy nhất, câu lệnh này kiểm tra giá trị của một biến với nhiều trường hợp, rồi chạy đoạn code tương ứng với trường hợp khớp.
Đây là cấu trúc cơ bản của câu lệnh switch:
switch (variable) {
case value1:
// Đoạn code chạy nếu variable bằng value1
break;
case value2:
// Đoạn code chạy nếu variable bằng value2
break;
// ... thêm các case khác
default:
// Đoạn code chạy nếu không có case nào khớp
}- Từ khóa
switchtheo sau là biến bạn muốn kiểm tra, đặt trong dấu ngoặc đơn. - Mỗi
caseđại diện cho một giá trị có thể có của biến. - Code bên trong mỗi
casesẽ chạy nếu biến khớp với giá trị của trường hợp đó.
- Câu lệnh
breakrất quan trọng; nó thoát khỏiswitchsau khi thực thi một trường hợp. Nếu không có câu lệnh này, chương trình sẽ “chạy tiếp” sang trường hợp kế tiếp. - Trường hợp
defaultlà tùy chọn và sẽ được thực thi nếu không có trường hợp nào khác khớp.
Đây là một ví dụ:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... các trường hợp cho những ngày khác
default:
dayName = "Invalid day";
}Bạn cũng có thể gộp nhiều trường hợp thành một:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... các trường hợp cho những ngày khác
default:
dayName = "Invalid day";
}Thử thách
Người mớiTạo một chương trình nhận vào số tháng (1 là January, 2 là February, v.v.) và in ra mùa tương ứng. Dùng câu lệnh switch để xử lý logic.
Các mùa và những tháng tương ứng là:
Winter: December (12), January (1), February (2)Spring: March (3), April (4), May (5)Summer: June (6), July (7), August (8)Autumn: September (9), October (10), November (11)
Với mọi số tháng khác, in ra "Invalid month".
Tự làm thử
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
String season = "";
// Viết code của bạn bên dưới
System.out.println(season);
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Nền tảng cơ bản
4Toán tử phần 1
Toán tử số họcToán tử moduloTăng/giảmTăng/giảm sauPhép rút gọn số họcToán tử so sánhSo sánh chuỗi7Nhập xuất cơ bản
Các phương thức System.outĐịnh dạng đầu raLớp ScannerÔn tập: đến 120Ôn tập: đúng hay sai5Toán tử, phần 2
Toán tử logic, phần 1Toán tử logic, phần 2Ôn tập: logic cơ bảnToán tử logic, phần 3Toán tử logic, phần 411Kiến thức cơ bản về mảng
Khai báo mảngTruy cập phần tửChỉnh sửa mảngPhương thức của mảngÔn tập: mảng tíchÔn tập: mảng đảo ngượcTự luyện tập: Trình biên dịch Java online