一、作用
用來處理多條件的定值的判斷。
二、語法
switch(變量或者表達式的值)
{
case 值1:要執行的代碼;
break;
case 值2:要執行的代碼;
break;
case 值3:要執行的代碼;
break;
..........
default:要執行的代碼;
break;
}
執行過程:
程序執行到switch處,首先將括號中變量或者表達式的值計算出來,然后拿着這個值依次跟每個case后面所帶的值進行匹配,一旦匹配成功,則執行該case所帶的代碼,執行完成后,遇到break。跳出switch-case結構。如果,跟每個case所帶的值都不匹配。就看當前這個switch-case結構中是否存在default,如果有default,則執行default中的語句,如果沒有default,則該switch-case結構,什么都不做。
三、實例
【練習1】李四的年終工作評定,如果定為A級,則工資漲500元, 如果定為B級,則工資漲200元,如果定為C級,工資不變,如果定為D級工資降200元,如果定為E級工資降500元.設李四的原工資為5000,請用戶輸入李四的評級,然后顯示李四來年的工資.
bool b = true;
double salary = 5000;
Console.WriteLine("請輸入李四的年終評定(A、B、C、D、E)");//A、B、C、
D、E
string level = Console.ReadLine();
switch (level)
{
case "A":
salary += 500;
break;
case "B":
salary += 200;
break;
case "C": break;
case "D":
salary -= 200;
break;
case "E":
salary -= 500;
break;
default:
Console.WriteLine("輸入的有誤,請重新輸入");
b = false;
break;
}
if (b)
{
Console.WriteLine("李四明年的工作是{0}元", salary);
}
Console.ReadKey();
【練習2】讓用戶輸入姓名,然后顯示出這個人上輩子是什么職業。
Console.WriteLine("請輸入姓名,我們將顯示出來這個人上輩子的職業");
string name = Console.ReadLine();
//老楊,老蘇,老鄒,老馬,老虎,老牛
switch (name)
{
case "老楊":
Console.WriteLine("上輩子是抽大煙");
break;
case "老蘇":
Console.WriteLine("上輩子是貴妃");
break;
case "老鄒":
Console.WriteLine("上輩子是駙馬爺");
break;
case "老馬":
case "老牛":
Console.WriteLine("上輩子是農民");
break;
default:
Console.WriteLine("不知道他上輩子是的職業");
break;
}
Console.ReadKey();
