Trọng tâm của chúng ta trong bài viết này sẽ là cấu trúc rẽ nhánh Switch case
trong ngôn ngữ lập trình C#. Đây là một phần quan trọng để xử lý các điều kiện phân nhánh trong mã của chúng ta. Hãy cùng khám phá nhé!
Cấu trúc rẽ nhánh Switch case dạng thiếu và dạng đủ
Dạng thiếu
Cấu trúc Switch case
dạng thiếu sẽ giúp bạn xử lý các câu lệnh khi giá trị của biểu thức bằng với các giá trị được chỉ định. Dưới đây là cú pháp của cấu trúc này:
switch () { case : ; break; case : ; break; . . . case : ; break; }
Trong cú pháp trên:
switch
vàcase
là từ khóa bắt buộc.break
là một lệnh nhảy để thoát khỏi cấu trúcSwitch case
.
phải là một biểu thức trả về kết quả có kiểu dữ liệu số nguyên, ký tự, chuỗi hoặc kiểu liệt kê.
với i = 1..n là giá trị muốn so sánh với giá trị của
.
là một hoặc nhiều câu lệnh muốn thực hiện khi giá trị của
tương ứng bằng với các giá trị được chỉ định.
Ý nghĩa của cấu trúc Switch case
dạng thiếu là duyệt từ trên xuống dưới và kiểm tra xem giá trị của
có bằng với các
hay không. Nếu bằng, thì sẽ thực hiện các
tương ứng.
Ví dụ:
int k = 8; switch (k) { case 3: Console.WriteLine("HowKteam"); break; case 9: // Case này rỗng, không có câu lệnh thực hiện nên không cần lệnh break case 10: Console.WriteLine("Free Education"); break; }
Lưu ý rằng đối với mỗi case
trong cấu trúc Switch case
dạng thiếu, nếu case
đó có lệnh thực hiện, thì cần phải có lệnh nhảy (break
) sau đó.
Dạng đủ
Cấu trúc Switch case
dạng đủ sẽ giúp bạn xử lý các câu lệnh khi giá trị của biểu thức bằng với các giá trị được chỉ định, và có một trường hợp mặc định nếu không thỏa mãn các giá trị đã chỉ định. Dưới đây là cú pháp của cấu trúc này:
switch () { case : ; break; case : ; break; . . . case : ; break; default: ; break; }
Trong cú pháp trên:
default
là từ khóa bắt buộc, đại diện cho trường hợp mặc định.
là một câu lệnh sẽ được thực hiện khi giá trị của
không bằng với bất kỳ
nào.
Ý nghĩa của cấu trúc Switch case
dạng đủ là duyệt từ trên xuống dưới và kiểm tra xem giá trị của
có bằng với các
hay không. Nếu bằng, thì sẽ thực hiện các
tương ứng. Nếu không bằng bất kỳ giá trị nào, thì sẽ thực hiện
.
Ví dụ:
int k = 8; switch (k) { case 3: Console.WriteLine("HowKteam"); break; case 9: Console.WriteLine("Kteam"); break; case 10: Console.WriteLine("Free Education"); break; default: Console.WriteLine("Connecting to HowKteam. . ."); break; }
Kết quả khi chạy chương trình sẽ là:
Connecting to HowKteam. . .
Vì không tìm thấy case
nào có giá trị bằng với giá trị biến k
, nên sẽ thực hiện câu lệnh trong default
.
Ví dụ chương trình sử dụng cấu trúc Switch case
Dưới đây là một ví dụ về chương trình sử dụng cấu trúc Switch case
. Chương trình này tính năm âm lịch từ năm dương lịch đã nhập.
Thuật toán tính năm âm lịch:
- Năm âm lịch = Can + Chi. Vì vậy, cần tính được Can và Chi, sau đó ghép lại là xong.
- Tính Can bằng cách:
- Tìm phần dư của phép chia năm dương lịch cho 10.
- Tra bảng tra cứu để tìm ra Can tương ứng.
- Tính Chi bằng cách:
- Tìm phần dư của phép chia năm dương lịch cho 12.
- Tra bảng tra cứu để tìm ra Chi tương ứng.
- Nối Can và Chi lại để được kết quả.
int Year; // Biến chứa giá trị năm cần tính. string Can = "", Chi = ""; // Biến chứa kết quả. Console.Write("Mời bạn nhập một năm bất kỳ: "); Year = Int32.Parse(Console.ReadLine()); // Nhập năm dương lịch và ép kiểu về kiểu số nguyên // Tìm Can như thuật toán đã trình bày switch (Year % 10) { case 0: Can = "Canh"; break; case 1: Can = "Tân"; break; case 2: Can = "Nhâm"; break; case 3: Can = "Quý"; break; case 4: Can = "Giáp"; break; case 5: Can = "Ất"; break; case 6: Can = "Bính"; break; case 7: Can = "Đinh"; break; case 8: Can = "Mậu"; break; case 9: Can = "Kỷ"; break; } // Tìm Chi như thuật toán đã trình bày switch (Year % 12) { case 0: Chi = "Thân"; break; case 1: Chi = "Dậu"; break; case 2: Chi = "Tuất"; break; case 3: Chi = "Hợi"; break; case 4: Chi = "Tý"; break; case 5: Chi = "Sửu"; break; case 6: Chi = "Dần"; break; case 7: Chi = "Mẹo"; break; case 8: Chi = "Thìn"; break; case 9: Chi = "Ti"; break; case 10: Chi = "Ngọ"; break; case 11: Chi = "Mùi"; break; } Console.WriteLine("Năm {0} có năm âm lịch là: {1} {2}", Year, Can, Chi); // Nối Can và Chi lại để được năm âm lịch Console.ReadLine();
Kết quả khi chạy chương trình sẽ là:
Năm 2022 có năm âm lịch là Nhâm Tý
Bạn có thể áp dụng kiến thức đã học để thực hiện các kiểm tra dữ liệu nhập vào trong chương trình.
Kết luận
Bài viết này giúp bạn nắm được cách sử dụng cấu trúc Switch case
dạng thiếu và dạng đủ trong ngôn ngữ lập trình C#. Bạn đã học cách viết chương trình sử dụng cấu trúc Switch case
để giải quyết các điều kiện phân nhánh. Cùng tiếp tục học khái niệm tiếp theo, đó là Kiểu dữ liệu object trong C#.
Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để chúng tôi có thể phát triển bài viết tốt hơn. Đừng quên luyện tập và thử thách mình để không ngại khó!
Thảo luận: Nếu bạn có bất kỳ khó khăn hoặc thắc mắc nào về chủ đề này, đừng ngần ngại đặt câu hỏi trong phần bình luận bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.