Câu lệnh switch-case hoạt động như thế nào?

Trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh switch trong Java để kiểm soát luồng thực thi chương trình của bạn với sự trợ giúp của các ví dụ.

Câu switchlệnh cho phép chúng tôi thực thi một khối mã trong số nhiều lựa chọn thay thế.

Cú pháp của switchcâu lệnh trong Java là:

switch (expression) {

  case value1:
    // code
    break;
  
  case value2:
    // code
    break;
  
  ...
  ...
  
  default:
    // default statements
  }

Câu lệnh switch-case hoạt động như thế nào?

Các biểu hiện được đánh giá một lần và so sánh với các giá trị của từng trường hợp.

  • If expression matches with value1, the code of case value1 are executed. Similarly, the code of case value2 is executed if expression matches with value2.
  • If there is no match, the code of the default case is executed.

Lưu ý : Hoạt động của câu lệnh switch-case tương tự như lệnh if … else … if trong Java . Tuy nhiên, cú pháp của switchcâu lệnh gọn gàng hơn và dễ đọc và dễ viết hơn nhiều.

Ví dụ: Câu lệnh Java switch

// Java Program to check the size
// using the switch...case statement

class Main {
  public static void main(String[] args) {

    int number = 44;
    String size;

    // switch statement to check size
    switch (number) {

      case 29:
        size = "Small";
        break;

      case 42:
        size = "Medium";
        break;

      // match the value of week
      case 44:
        size = "Large";
        break;

      case 48:
        size = "Extra Large";
        break;
      
      default:
        size = "Unknown";
        break;

    }
    System.out.println("Size: " + size);
  }
}

Đầu ra :

Size: Large

Trong ví dụ trên, chúng ta đã sử dụng câu lệnh switch để tìm kích thước. Ở đây, chúng ta có một biến số . Biến được so sánh với giá trị của mỗi câu lệnh trường hợp.

Vì giá trị khớp với 44 nên mã của case 44được thực thi.

size = "Large";
break;

Ở đây, biến kích thước được gán giá trị Large.

Đề xuất Đọc : Tạo một Máy tính Đơn giản Sử dụng Câu lệnh Java switch

Lưu đồ của câu lệnh switch

Biểu đồ luồng của câu lệnh chuyển đổi Java

câu lệnh break trong Java switch … case

Lưu ý rằng chúng tôi đã sử dụng breaktrong từng khối trường hợp.

 ...
case 29:
  size = "Small";
  break;
...

Câu breaklệnh được sử dụng để kết thúc câu lệnh switch-case . Nếu breakkhông được sử dụng, tất cả các trường hợp sau trường hợp phù hợp cũng được thực hiện. Ví dụ,

class Main {
  public static void main(String[] args) {

    int expression = 2;

    // switch statement to check size
    switch (expression) {
      case 1:
        System.out.println("Case 1");

        // matching case
      case 2:
        System.out.println("Case 2");

      case 3:
        System.out.println("Case 3");

      default:
        System.out.println("Default case");
    }
  }
}

Đầu ra

Case 2
Case 3      
Default case

Trong ví dụ trên, biểu thức khớp với case 2. Ở đây, chúng tôi đã không sử dụng câu lệnh break sau mỗi trường hợp.

Do đó, tất cả các trường hợp sau case 2cũng được thực hiện.

Đây là lý do tại sao breakcâu lệnh là cần thiết để kết thúc câu lệnh switch-case sau trường hợp khớp. Để tìm hiểu thêm, hãy truy cập Java break Statement .

trường hợp mặc định trong trường hợp chuyển mạch Java

Câu lệnh switch cũng bao gồm một trường hợp mặc định tùy chọn . Nó được thực thi khi biểu thức không khớp với bất kỳ trường hợp nào. Ví dụ,

class Main {
  public static void main(String[] args) {
  
    int expression = 9;
    
    switch(expression) {
        
      case 2:
        System.out.println("Small Size");
        break;

      case 3:
        System.out.println("Large Size");
        break;
            
      // default case
      default:
        System.out.println("Unknown Size");
    }
  }
}

Đầu ra

Unknown Size

Trong ví dụ trên, chúng ta đã tạo một câu lệnh switch-case . Ở đây, giá trị của biểu thức không khớp với bất kỳ trường hợp nào.

Do đó, mã bên trong trường hợp mặc định được thực thi.

default:
  System.out.println("Unknown Size);

Lưu ý : Câu lệnh Java switch chỉ hoạt động với:

  • Primitive data types: byte, short, char, and int
  • Enumerated types
  • String Class
  • Wrapper Classes: Character, Byte, Short, and Integer.








Gõ tìm kiếm nhanh...