VÍ DỤ Switch trong JAVA

Câu lệnh Switch trong Java thực thi một câu lệnh từ nhiều điều kiện. Nó giống như câu lệnh if-else-if.

Câu lệnh switch hoạt động với các kiểu byte, short, int, long, enum, String và một số kiểu như Byte, Short, Int Long.

Kể từ Java 7, bạn có thể sử dụng String trong câu lệnh switch.

Nói cách khác, câu lệnh switch trong Java kiểm tra sự bằng nhau của một biến so với nhiều giá trị kiểm tra.

Switch trong Java
Switch trong Java

Những điểm cần nhớ khi sử dụng Switch trong Java

  • Có thể có 1 hoặc n số giá trị kiểm tra (case value) cho biểu thức switch.

  • Case value phải thuộc kiểu của biểu thức switch. Case value phải bằng chuỗi hoặc hằng số. Các biến sẽ không hợp lệ.

  • Các case value phải là duy nhất. Trong trường hợp case value trùng lặp, nó gặp lỗi biên dịch ngay.

  • Biểu thức switch trong Java phải là byte, short, int, long (với kiểu Wrapper của chúng), enums và string.

  • Mỗi câu lệnh case có thể có một thể có câu lệnh tùy chọn là break. Khi thực thi đến câu lệnh break, nó sẽ nhảy thoát khỏi câu lệnh switch. Nếu không tìm thấy câu lệnh break, nó sẽ tiếp tục thực thi case tiếp theo.

  • Case value có thể là default.

Cú pháp câu lệnh Switch trong Java

Dưới đây là cú pháp về câu lệnh switch.

switch(expression){    
  case value1:    
    // Code thực thi;    
    break;  //Tùy chọn  
  case value2:    
    // Code thực thi;    
    break;  //Tùy chọn CÓ or KHÔNG
    ......    
    
  default:     
    //Code thực thi nếu tất cả các case không khớp    
}

Ví dụ về câu lệnh Switch trong JAVA

Để bạn hiểu rõ về cách sử dụng switch trong Java, chúng ta sẽ đi làm thử một vài ví dụ cụ thể sử dụng switch:

Ví dụ 1: Sử dụng switch để kiểm tra sự bằng của một số

public class SwitchExample {  
  public static void main(String[] args) {  
    // Khai báo biến cho biểu thức switch 
    int number=20;  
    // Biểu thức switch  
    switch(number){  
      // Các trường hợp (Cases)
      case 10:
        System.out.println("10");  
        break;  
      case 20:
        System.out.println("20");  
        break;  
      case 30:
        System.out.println("30");  
        break;
      // Câu lệnh mặc định nếu không có case nào khớp
      default:
        System.out.println("number không phải 10, 20 hay 30!");  
    }  
  }  
} 

Kết quả

20

Như bạn thấy trong ví dụ trên, chúng ta tạo một class là SwitchExample. Sau đó, trong main:

  • Khai báo biến number là kiểu int và gán cho nó bằng 20

  • Câu lệnh switch nhận number làm biểu thức. So sánh giá trị đó với các case 10, 20, 30.

  • Nếu đúng trong trường hợp nào thì thông báo bằng câu lệnh println và thoát biểu thức switch bằng câu lệnh break.

Và như chúng ta đã nói từ trước, câu lệnh break là tùy chọn.

Vậy nếu không có break thì chương trình hoạt động như thế nào?

Hãy cùng xem ví dụ sau:

Ví dụ 2: Sử dụng biểu thức switch mà không có câu lệnh break

public class SwitchExample {  
  public static void main(String[] args) {  
    // Khai báo biến cho biểu thức switch 
    int number = 20;  
    // Biểu thức switch  
    switch(number){
      // Các trường hợp (Cases)
      case 10:
        System.out.println("10");  
      case 20:
        System.out.println("20");   
      case 30:
        System.out.println("30");    
      // Câu lệnh mặc định nếu không case nào khớp
      default:
        System.out.println("number không phải 10, 20 hay 30!");  
    }  
  }  
} 

Kết quả:

10
20
30
number không phải 10, 20 hay 30!

Lưu ý: Nếu so sánh với string thì chúng ta chỉ cần đặt case value trong dấu nháy ” ” hoặc ‘ ‘.

Ví dụ 3: Các biểu thức switch lồng nhau trong Java

// Chương trình sử dụng biểu thức switch lồng nhau
// Đơn giản là đặt switch trong các case
public class NestedSwitchExample {    
    public static void main(String args[])  
      {  
      //C - CSE, E - ECE, M - Mechanical  
        char branch = 'C';                 
        int collegeYear = 4;  
        switch( collegeYear )  
        {  
            case 1:  
                System.out.println("English, Maths, Science");  
                break;  
            case 2:  
                switch( branch )   
                {  
                    case 'C':  
                        System.out.println("Operating System, Java, Data Structure");  
                        break;  
                    case 'E':  
                        System.out.println("Micro processors, Logic switching theory");  
                        break;  
                    case 'M':  
                        System.out.println("Drawing, Manufacturing Machines");  
                        break;  
                }  
                break;  
            case 3:  
                switch( branch )   
                {  
                    case 'C':  
                        System.out.println("Computer Organization, MultiMedia");  
                        break;  
                    case 'E':  
                        System.out.println("Fundamentals of Logic Design, Microelectronics");  
                        break;  
                    case 'M':  
                        System.out.println("Internal Combustion Engines, Mechanical Vibration");  
                        break;  
                }  
                break;  
            case 4:  
                switch( branch )   
                {  
                    case 'C':  
                        System.out.println("Data Communication and Networks, MultiMedia");  
                        break;  
                    case 'E':  
                        System.out.println("Embedded System, Image Processing");  
                        break;  
                    case 'M':  
                        System.out.println("Production Technology, Thermal Engineering");  
                        break;  
                }  
                break;  
        }  
    }  
}  

Ví dụ 4: Sử dụng enum trong câu lệnh switch

//Sử dụng enum trong câu lệnh switch trong Java   
public class JavaSwitchEnumExample {      
       public enum Day {  Sun, Mon, Tue, Wed, Thu, Fri, Sat  }    
       public static void main(String args[])    
       {    
         Day[] DayNow = Day.values();    
           for (Day Now : DayNow)    
           {    
                switch (Now)    
                {    
                    case Sun:    
                        System.out.println("Sunday");    
                        break;    
                    case Mon:    
                        System.out.println("Monday");    
                        break;    
                    case Tue:    
                        System.out.println("Tuesday");    
                        break;         
                    case Wed:    
                        System.out.println("Wednesday");    
                        break;    
                    case Thu:    
                        System.out.println("Thursday");    
                        break;    
                    case Fri:    
                        System.out.println("Friday");    
                        break;    
                    case Sat:    
                        System.out.println("Saturday");    
                        break;    
                }    
            }    
        }    
} 

Kết quả:

Sunday
Monday
Twesday
Wednesday
Thursday
Friday
Saturday

Ví dụ 5: Sử dụng kiểu Wrapper trong switch

// Sử dụng kiểu Wrapper trong switch 
public class WrapperInSwitchCaseExample {       
       public static void main(String args[])  
       {         
            Integer age = 18;        
            switch (age)  
            {  
                case (16):            
                    System.out.println("Dưới 18 tuổi.");  
                    break;  
                case (18):                
                    System.out.println("Đủ tuổi bỏ phiếu.");  
                    break;  
                case (65):                
                    System.out.println("Hết tuổi bỏ phiếu.");  
                    break;  
                default:  
                    System.out.println("Tuổi không hợp lệ.");  
                    break;  
            }             
        }  
}  

Kết quả:

Đủ tuổi bỏ phiếu.

Bạn đã hiểu về Switch trong Java chưa?

Như vậy là qua bài này bạn đã biết về cách sử dụng biểu thức switch trong Java.

Biết các sử dụng switch để kiểm tra nhiều trường hợp một cách nhanh chóng.

Hãy thử với sử dụng switch với bất kỳ ví dụ nào bạn có thể nghĩ ra để biết rõ hơn tại sao nên dùng switchtại sao không nên dùng switch để nâng tầm hiểu biết của bạn về switch nhiều hơn.

Note: Bạn có tin chỉ cần đọc xong một bài tự học lập trình Java là nắm được ngôn ngữ Java không? Không tin thì thử xem nhé!

Đừng quên: Nếu bạn cảm thấy khó khăn và cần người hướng dẫn cụ thể về Ngôn ngữ Java. Khóa học Java này thể giúp bạn.

Chúc bạn học Java tốt hơn.

JavaDEV

Bài viết gần đây

4 Loại Access Modifiers trong JAVA

Access Modifiers trong Java chỉ định khả năng / cấp độ truy cập hoặc phạm vi của một field, method, constructor hoặc class. Có 4 loại: private, default, protected, public

Package trong JAVA

Package trong Java có thể được phân loại theo hai dạng, built-in package (có sẵn) và user-defined package (gói do người dùng định nghĩa)

Sự khác biệt giữa Abstract Class và Interface

Cả Abstract class và Interface đều được sử dụng để đạt được sự trừu tượng nơi chúng ta có thể khai báo các phương thức trừu tượng. Cả Abstract class và Interface đều không thể được khởi tạo.

Interface trong JAVA

Interface trong Java là một cơ chế để đạt được sự trừu tượng. Có thể chỉ có các phương thức trừu tượng trong Interface, không có phần thân phương thức

Abstract class trong JAVA

Trừu tượng là một quá trình ẩn các chi tiết triển khai và chỉ hiển thị chức năng cho người dùng. Cùng mình học cách sử dụng Abstract class trong Java

Hướng dẫn tải và Cài đặt Java cho Windows 10 (Chi tiết)

Bài viết này mình sẽ hướng dẫn bạn cách tải và cài đặt Java cho Windows 10 để học lập trình Java.

Leave a reply

Please enter your comment!
Please enter your name here