在上一章節我們講解了if選擇結構 本章我們學習 switch選擇結構 還要知道if選擇結構和switch結構的區別 為什么學習了if選擇結構還要學習switch選擇結構 以及 兩種選擇結構的運用場合
下面我們來看一個問題
問題:小明參加計算機比賽,
如果獲得第1名那么就給他買一個車,
如果獲得第2名就給他買一個手機
如果獲得第3名就給他買本書
否則就什么都不買
這個題的解決方法可以用多重if選擇結構 還可以用switch選擇結構下面我們具體的使用每種選擇結構都來操作一下
if(成績==第一名){
買一個車
}else if(成績==第二名){
買一個手機
}else if(成績==第三名){
買本書
}else{//什么都沒有
什么都不買
}
使用if選擇結構我們已經實現了這個問題的解決方案那么怎么用switch結構來完成這個操作呢
首先我們來看一下switch選擇結構的基本語法
首先我們看 switch(表達式) 表達式里面 可以是int short byte char 美劇 Sting類型
case 常量:break; 如果等於常量 那么執行 case區域的代碼 直到break 結束
case塊可以出現很多個 那如果 所有case 后面的常量都沒有匹配上 他就會執行default塊的部分 同樣碰到break 就跳出switch結構
既然我們已經知道了switch的結構語法 下面我們來解決一下上面的問題
int score=1;
switch(score){
case 1:
買一個車
break;
case 2:
買一個手機
break;
case 3:
買本書
break;
default:
什么都不買
break;
}
可以看到如果 swith(表達式)括號里面表達式的值於case 后面的值相等 那么 就會執行 當前case 后面的值 如果switch括號里面的值 在case塊沒有一個匹配 那么就會進入default里面需要注意的是 每個case塊后面都要有break;必須有如果沒有的話 那么程序將繼續向下執行 直到遇到break才停止
default塊順序可以變動,但要注意其執行順序。
通常,default塊放在末尾,也可以省略
比較一下 多重if與switch選擇結構的
相同點 都是用來處理多分支條件的結構
不同點 switch選擇結構 只能處理等值條件判斷的情況
多重if選擇結構 沒有switch選擇結構的限制 特別適合某個變量處於某個連續區間的情況
給大家流一個作業
如圖