Cú pháp:
switch (biến/ biểu thức)
{ case giá trị 1: khối lệnh 1; break; case giá trị 2: khối lệnh 2; break; case giá trị 3: khối lệnh 3; break; // … case giá trị n: khối lệnh n; break; default:
Tài liệu giảng dạy Th p T nh 1 Trang 67
khối lệnh n + 1;
break;
}
Ý nghĩa:
Nếu biến/ biểu thức bằng giá trị 1 thực hiện khối lệnh 1, sau đó thốt khỏi
switch( nếu gặp break).
Nếu biến/ biểu thức bằng giá trị 2 thực hiện khối lệnh 2, sau đó thốt khỏi
switch( nếu gặp break).
Nếu biến/ biểu thức bằng giá trị 3 thực hiện khối lệnh 3, …, sau đó thốt khỏi
switch( nếu gặp break).
Nếu biến/ biểu thức không bằng tất cả giá trị trên thực hiện khối lệnh n+1 (sau
default (nếu có)) Lưu đồ:
Tài liệu giảng dạy Th p T nh 1 Trang 68
Ví dụ:
class UsingSwitchStatement
{
static void Main() {
//khai bao bien int thang = 1; //nhap gia tri
Console.WriteLine("Nhap thang: "); thang = int.Parse(Console.ReadLine()); //in mua tuong ung
switch( thang) {
case 1:
Console.WriteLine("thang {0} mua xuan", thang); break;
case 2:
Console.WriteLine("thang {0} mua xuan", thang); break;
Tài liệu giảng dạy Th p T nh 1 Trang 69
Console.WriteLine("thang {0} mua xuan", thang); break;
case 4:
Console.WriteLine("thang {0} mua ha", thang); break;
case 5:
Console.WriteLine("thang {0} mua ha", thang); break;
case 6:
Console.WriteLine("thang {0} mua ha", thang); break;
case 7:
Console.WriteLine("thang {0} mua thu", thang); break;
case 8:
Console.WriteLine("thang {0} mua thu", thang); break;
case 9:
Console.WriteLine("thang {0} mua thu", thang); break;
case 10:
Console.WriteLine("thang {0} mua dong", thang); break;
case 11:
Console.WriteLine("thang {0} mua dong", thang); break;
case 12:
Console.WriteLine("thang {0} mua dong", thang); break;
default:
Console.WriteLine("nhap thang sai"); break; } } Kết quả: Lưu ý:
- Biến/ biểu thức trong switch phải là kiểu đếm được.
- Các giá trị sau case phải cùng kiểu biến/ biểu thức và phải khác nhau.
- Case có thể có hoặc khơng có câu lệnh, nếu case có câu lệnh phải có break, nếu khơng chương trình sẽ báo lỗi.
Tài liệu giảng dạy Th p T nh 1 Trang 70
- Khơng bắt buộc phải có default.
- Nếu không gặp break, switch sẽ nhảy đến case kế tiếp và thực hiện câu lệnh ở case đó.
Ví dụ:
class UsingSwitchStatement2
{
static void Main() {
//khai bao bien int thang = 1; //nhap gia tri
Console.WriteLine("Nhap thang: "); thang = int.Parse(Console.ReadLine()); //in mua tuong ung
switch( thang) {
case 1: case 2: case 3:
Console.WriteLine("thang {0} mua xuan", thang); break;
case 4: case 5: case 6:
Console.WriteLine("thang {0} mua ha", thang); break;
case 7: case 8: case 9:
Console.WriteLine("thang {0} mua thu", thang); break;
case 10: case 11: case 12:
Console.WriteLine("thang {0} mua dong", thang); break;
default:
Console.WriteLine("nhap thang sai"); break;
} }
Tài liệu giảng dạy Th p T nh 1 Trang 71