Menu
CoddyTech

Biểu thức switch

Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 36 trên 59.

Biểu thức switch (switch expression) là một tính năng cho phép bạn viết các câu lệnh switch ngắn gọn hơn và trả về giá trị trực tiếp. Cùng xem cách hoạt động nhé.

Tạo một biểu thức switch (switch expression) cơ bản trả về một giá trị:

int number = 1;
String message = switch(number) {
   case 1 -> "One";
   case 2 -> "Two";
   default -> "Other";
};

Sau khi chạy đoạn code trên, biến message chứa:

"One"

Bạn cũng có thể xử lý nhiều trường hợp cùng lúc:

int day = 2;
String type = switch(day) {
   case 1, 2, 3, 4, 5 -> "Weekday";
   case 6, 7 -> "Weekend";
   default -> "Invalid day";
};

Sau khi chạy đoạn code trên, biến type chứa:

"Weekday"

challenge icon

Thử thách

Dễ

Tạo một phương thức có tên getDayType nhận hai đối số:

  1. Một số nguyên (day) đại diện cho một ngày trong tuần (1-7)
  2. Một giá trị boolean (abbreviated) quyết định định dạng giá trị trả về

Phương thức cần dùng biểu thức switch để trả về loại ngày:

  • Với các ngày từ 1 đến 5 (thứ Hai đến thứ Sáu): trả về "WORKDAY" nếu không viết tắt hoặc "WKD" nếu viết tắt
  • Với các ngày từ 6 đến 7 (thứ Bảy và Chủ nhật): trả về "WEEKEND" nếu không viết tắt hoặc "WKND" nếu viết tắt
  • Với mọi số khác: trả về "INVALID" nếu không viết tắt hoặc "INV" nếu viết tắt

Tự làm thử

import java.util.Scanner;

public class Main {
    public static String getDayType(int day, boolean abbreviated) {
        // Viết code của bạn ở đây
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int day = Integer.parseInt(scanner.nextLine());
        boolean abbreviated = Boolean.parseBoolean(scanner.nextLine());
        
        System.out.println(getDayType(day, abbreviated));
    }
}
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 Logic và luồng chương trình

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