Tìm hiểu kiến thức tổng quan về câu lệnh Java Switch

Với những bạn đang muốn tìm hiểu về ngôn ngữ lập trình Java. Thì sẽ phải nắm được một vài câu lệnh logic dùng để kiểm soát luồng thực thi. Trong đó câu lệnh if – then được sử dụng một cách phổ biến nhất. Ngoài ra, còn có câu lệnh Java Switch hay còn gọi là câu lệnh rẽ nhánh đa chiều trong ngôn ngữ lập trình Java. Việc sử dụng lệnh Switch này sẽ cho phép bạn gửi thực thi mã của mình. Dựa trên phần giá trị của một biểu thức nhất định. Hôm nay Box.edu sẽ giới thiệu kỹ hơn cho các bạn về câu lệnh Switch này.

Mục lục bài viết

Ví dụ về Java Switch

vi-du-ve-java-switch.webp

Ví dụ về Java Switch

Để giúp các bạn có thể hiểu rõ hơn về cấu tạo của một câu lệnh Switch. Hãy cùng xem ví dụ minh họa dưới đây về những điều cơ bản của câu lệnh Switch Java:

switch (expression) {

case value1:

//statement sequence

break;

case value2:

//statement sequence

break;

case valueN:

//statement sequence

break;

default:

//default statement sequence

}

Dựa vào ví dụ trên chúng ta có thể thấy rằng biểu thức phải là một byte, short, int hoặc char với mỗi giá trị được chỉ định trong câu lệnh trường hợp tương thích với biểu thức. Ngoài ra chuỗi cũng có thể được sử dụng như một biểu thức trường hợp miễn là các câu lệnh trường hợp tương thích với biểu thức. Ví dụ: bạn không thể thêm một số vào một giá trị của chuỗi.

  • Có thể có một hoặc N số giá trị trường hợp cho một biểu thức switch
  • Giá trị trường hợp chỉ thuộc loại biểu thức switch. Đồng thời giá trị trường hợp này phải là chữ hoặc hằng số 
  • Các giá trị trường hợp phải là duy nhất. Trong trường hợp có giá trị trùng lặp thì sẽ gây ra lỗi thời gian biên dịch
  • Biểu thức switch Java phải có byte, short, int, long (với kiểu Wrapper của nó), enums và string 
  • Mỗi câu lệnh case có thể có một câu lệnh break là tùy chọn. Khi điều khiển đạt đến câu lệnh break, nó sẽ nhảy điều khiển sau biểu thức chuyển đổi. Do vậy nếu không tìm thấy câu lệnh break thì nó sẽ thực hiện các trường hợp tiếp theo

Cách hoạt động của các câu lệnh chuyển đổi Java Switch

cach-hoat-dong-cua-cac-cau-lenh-chuyen-doi-java-switch.png

Cách hoạt động của các câu lệnh chuyển đổi Java Switch

Khi luồng thực thi trong chương trình của bạn đến câu lệnh switch, thì giá trị của biểu thức được so sánh với từng giá trị chữ trong câu lệnh trường hợp. Nếu tìm thấy khớp, chuỗi mã theo sau câu lệnh trường hợp đó sẽ được thực thi. Nếu không có hằng số nào khớp với giá trị của biểu thức, thì câu lệnh mặc định cũng sẽ được thực thi. Tuy nhiên, câu lệnh mặc định là tùy chọn và nếu không có mặc định nào và đồng thời không có trường hợp nào phù hợp với biểu thức, thì cũng sẽ không có hành động nào khác được thực hiện và luồng thực thi sẽ di chuyển qua câu lệnh switch sang phần tiếp theo của chương trình.

Câu lệnh break bên trong switch kết thúc một chuỗi câu lệnh. Khi chương trình của bạn gặp một câu lệnh break, việc thực thi sẽ được chuyển hướng đến dòng mã đầu tiên sau toàn bộ câu lệnh switch. Để giúp bạn có thể dễ hiểu hơn thì bạn có thể nhìn vào ví dụ mã Java sau đây sử dụng câu lệnh switch để xác định “điểm” của một nhân viên và phần thưởng liên quan mà họ nhận được.

Tuy nhiên cũng lưu ý rằng trong ví dụ này, cấp được mã hóa cứng bằng câu lệnh char Grade = ‘B’. Thông thường, biểu thức sẽ chứa các biến phụ thuộc vào các phần khác của chương trình vì một biến được mã hóa cứng phủ nhận mục đích của việc sử dụng câu lệnh switch ngay từ đầu.

public class SwitchCaseDemo {

        public static void main(String[] args) {

                    char Grade =’B’;

switch (Grade){

                    case ‘A’:

                                System.out.println(“You are a Grade A Employee: Bonus= “+ 2000);

                                break;

                    case ‘B’:

                                System.out.println(“You are a Grade B Employee: Bonus= “+ 1000);

                                break;

                    case ‘C’:

                                System.out.println(“You are a Grade C Employee: Bonus= “+ 500);

                                break;

                    default:

                                System.out.println(“You are a Default Employee: Bonus= “+ 100);

                                break;

                    }                   

        }

}

Đối với ví dụ ở trên thì đầu ra của chương trình sẽ là “Bạn là Nhân viên Hạng B: Bonus = 1000”. Tất nhiên, đây là một ví dụ đơn giản hóa nhưng nó cũng là một câu lệnh chuyển đổi chức năng có thể dễ dàng được áp dụng để sử dụng thực tế hơn trong các ứng dụng chương trình Java của riêng bạn.

Tìm hiểu về các câu lệnh chuyển đổi lồng nhau

Câu lệnh switch cũng có thể được sử dụng như một phần của chuỗi câu lệnh của một switch bên ngoài. Đây được gọi là một công tắc lồng nhau và chính xác là ý tưởng giống như một câu lệnh if – then lồng nhau. Việc tạo ra các câu lệnh switch lồng nhau sẽ phức tạp hơn một chút, nhưng thông thường nó sẽ không có sự xung đột giữa các hằng số kể cả trường hợp trong công tắc bên trong lẫn các trường hợp trong công tắc bên ngoài vì mỗi câu lệnh switch xác định khối riêng của nó.

Bạn có thể thấy rằng mình đang sử dụng các câu lệnh switch lồng nhau trong nhiều ứng dụng vì chúng yêu cầu ít công việc hơn so với các câu lệnh if lồng nhau và không có một số vấn đề về tính tương thích có thể xảy ra với các câu lệnh if – then lồng nhau phức tạp.

Những thông tin cần biết về chuyển đổi Java Switch

Có một số điều bạn nên nhận ra khi sử dụng câu lệnh switch trong các ứng dụng Java của mình. Đối với một công tắc chỉ có thể kiểm tra sự bình đẳng. Điều này có nghĩa là không có toán tử quan hệ nào khác (ví dụ như lớn hơn hoặc nhỏ hơn) có thể được sử dụng trong một trường hợp. Trong đó hằng số trường hợp luôn được đánh giá từ trên xuống. Điều này có nghĩa là trường hợp đầu tiên phù hợp với biểu thức switch là điểm nhập thực thi. Nếu không có câu lệnh break nào được sử dụng, thì tất cả các trường hợp sau điểm nhập sẽ được thực hiện.

Trong cùng một câu lệnh switch, sẽ không có hằng số trường hợp nào có hai giá trị giống nhau. Do vậy bạn nên nhớ rằng điều này không đúng nếu bạn đang sử dụng các câu lệnh switch lồng nhau.

Mặc dù cách tốt nhất mà mọi người hiểu đó là đưa những trường hợp mặc định của bạn vào cuối câu lệnh switch, về mặt kỹ thuật, nó có thể được đặt ở bất kỳ đâu trong câu lệnh switch. Điều này còn phải phụ thuộc vào sở thích cá nhân của riêng bạn và điều gì là có ý nghĩa đối với bạn khi tạo ứng dụng chương trình Java của mình.

Do đó việc học cách sử dụng hiệu quả các câu lệnh Java switch có thể làm tăng đáng kể chất lượng chương trình tạo lập của bạn. Nó không chỉ có thể giảm số lượng mã cần thiết mà còn ít tốn bộ xử lý hơn khi bạn bắt đầu làm việc trên các ứng dụng máy tính để bàn phức tạp với hàng nghìn dòng mã.

Tuy nhiên, bạn cũng nên nhớ rằng, bạn cũng có thể sử dụng các câu lệnh switch một mình hoặc bạn có thể lồng chúng vào nhau cho các câu lệnh lớn hơn, phức tạp để có thể thực hiện nhiều tác vụ đồng thời.

Qua những ví dụ được phân tích ở bài viết này sẽ giúp bạn cảm thấy tự tin trong việc sử dụng với các câu lệnh switch để tìm hiểu thêm về cách chúng hoạt động. Đồng thời các bạn cần loại bỏ câu lệnh break và xem điều đó có ảnh hưởng đến hoạt động như thế nào. Mặc dù câu lệnh break thường được yêu cầu, nhưng cũng có những trường hợp bạn muốn tất cả mã được thực thi sau điểm nhập và bạn cố ý để lại câu lệnh break trong những trường hợp cụ thể này.

Một khi bạn đã thành thạo về các câu lệnh switch thì bạn sẽ có khả năng trở thành một lập trình viên Java chuyên nghiệp, đồng thời có khả năng tạo ra các ứng dụng hiệu quả và mạnh mẽ cho máy tính để bàn và các ứng dụng Web.

Tổng kết

Box.edu hy vọng rằng những thông được chúng tôi tổng hợp. Và thông tin đến các bạn trong bài viết này. Sẽ giúp các bạn có thể nắm được ngôn ngữ lập trình Java và cách học Java một cách chính xác và chi tiết nhất. Đặc biệt là về câu lệnh Java Switch ngày nay được rất nhiều nhà lập trình viên Java quan tâm tìm hiểu.

5/5 - (20 bình chọn)
Xin chào các bạn! Mình là Hà Nguyên Phương Hiện đang là tác giả của Box.edu.vn website nổi tiếng chuyên review, đánh giá, giới thiệu các khóa học hay nhất hiện nay.