Cấu trúc switch case trong Java

Đối với trường hợp có nhiều câu điều điện cần kiểm tra ví dụ như: "Hôm nay trời nắng thì ... trời mưa thì... trời râm thì... trời quang thì..." thì Java cũng cung cấp cho ta một cú pháp khác để tránh phải viết nhiều lần if, đó chính là switch-case

Dạng khuyết

Cú pháp

switch(biến) {
  case giá trị 1:
    câu lệnh 1;
    câu lệnh 2;
    ...
    break;
  case giá trị 2:
    câu lệnh 1;
    câu lệnh 2;
    ...
    break;
  ...
  case giá trị n:
    câu lệnh 1;
    câu lệnh 2;
    ...
    break;
}

Sau đây là sơ đồ khối mô tả sự hoạt động của cấu trúc rẽ nhánh switch dạng thiếu

cau-truc-switch-case-trong-java

Switch sẽ kiểm tra giá trị của biến (nằm trong ngoặc đơn sau switch kia), và so sánh biến với từng giá trị khác nhau, lần lượt từ trên xuống dưới, mỗi giá trị cần so sánh gọi là một case. Ở đoạn code trên, các giá trị để so sánh với biếngiá trị 1, giá trị 2. Khi một trường hợp đúng (true), khối lệnh ở trong case đó sẽ được thực thi. Câu lệnh break để thoát ra khỏi cấu trúc switch bạn có thể xem thêm ở bài Từ khóa break và continue.

public class Thaycacac {
  public static void main(String[] args) {
    int number = 2;
    switch (number) {
      case 1:
        System.out.println("Đây là số 1");
        break;
      case 2:
        System.out.println("Đây là số 2");
        break;
      case 3:
        System.out.println("Đây là số 3");
        break;
      case 4:
        System.out.println("Đây là số 4");
        break;
      case 5:
        System.out.println("Đây là số 5");
        break;
    }
  }
}
Kết quả
Đây là số 2

Dạng đủ

Cú pháp

switch(biểu thức) {
  case giá trị 1:
    câu lệnh 1;
    câu lệnh 2;
    ...
    break;
  case giá trị 2:
    câu lệnh 1;
    câu lệnh 2;
    ...
    break;
  ...
  case giá trị n:
    câu lệnh 1;
    câu lệnh 2;
    ...
    break;
  default:
    câu lệnh 1;
    câu lệnh 2;
    ...
}

Sau đây là sơ đồ khối mô tả sự hoạt động của cấu trúc switch dạng đủ

cau-truc-switch-case-trong-java

Nếu tất cả các trường hợp đều sai (tức là các giá trị ở case không bằng với biến), thì khối lệnh ở trong default sẽ được thực thi.

public class Thaycacac {
  public static void main(String[] args) {
    int number = 2;
    switch (number) {
    case 1:
      System.out.println("Đây là số 1");
    case 2:
      System.out.println("Đây là số 2");
    case 3:
      System.out.println("Đây là số 3");
    case 4:
      System.out.println("Đây là số 4");
    case 5:
      System.out.println("Đây là số 5");
    default:
      System.out.println("Chạy vào khối default");
    }
  }
}
Kết quả
Đây là số 2
Đây là số 3
Đây là số 4
Đây là số 5
Chạy vào khối default
  • Biến phải là một biểu thức có kiểu char, byte, short, int nhưng không thể là kiểu long, nếu Biến có kiểu khác với các kiểu liệt kê ở trên thì java sẽ đưa ra một thông báo lỗi.
  • Nếu case không có break thì nó sẽ thực hiện đến hết, khi không còn khối nào thì thôi.
Avatar Administrator

Administrator

@thaycacac
Lòng tin cũng giống như một tờ giấy, khi đã nhàu nát sẽ không bao giờ phẳng phiu được.
Logo thể loại Java

Java

Chuyên mục học lập trình
Học Java từ cơ bản đến thông thạo cho mọi đối tượng
hello