Menu
CoddyTech

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 switch theo 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 case sẽ chạy nếu biến khớp với giá trị của trường hợp đó.
  • Câu lệnh break rất quan trọng; nó thoát khỏi switch sau 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 default là 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";
}
challenge icon

Thử thách

Người mới

Tạ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);
    }
}
quiz iconTự kiểm tra

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

Tự luyện tập: Trình biên dịch Java online