一、作用
用來處理多條件的定值的判斷。
二、語法
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();