JAVA基礎之流程語句控制:選擇結構

switch語句:是選擇結構的一種標誌性語句


switch(表達式) switch意爲開關
{
case 取值1: case意爲案例,事件
執行語句;
break;        break意爲跳出,當匹配答案後,做跳出結束的動作。
case 取值2:
執行語句;
break;
......
default: default意爲缺省,默認。
執行語句;
break;
}
比如:*/
int a=5;
switch (a+1)
{
case  3:
System.out.println("你好,魚兒。");
break;
case 5:
System.out.println("你好,凌晗。");
break;
case 6:
System.out.println("你好,茵茵。");
break;
default:
System.out.println("好久不見。");
}
/*他的運算順序是:先計算出switch語句後表達式的結果,再進入第一個case進行選擇,不是這個答案則忽略進入
第二個case進行選擇,還是不對,繼續選擇下一個,也就是第三個,答案匹配,執行第三個case的執行語句。
執行完畢後break跳出,整個switch選擇語句結束。
如果所有的case的答案都不匹配的話就進入default,執行下面的語句,然後break跳出。


注意:switch後面的表達式只支持四種類型
byte short int char
其他類型都簡單,單獨拿char舉個例子吧!
*/
int b=4,c=5;
char sop='*'; //char是字符類型。
switch (sop)
{
case '+':
System.out.println("2015-12-18");
break;
case '-':
System.out.println("2015-12-17");
break;
case '/':
System.out.println("2015-12-16");
break;
case '&':
System.out.println("2015-12-15");
break;
default :
System.out.println("2015-12-14");
break;
}
/*上面供選擇的值中沒有*這個字符,所以最後會輸出default下面的執行語句。


switch語句有個特點,就是當執行這個語句的時候,裏面所有的備選答案都加載進內存了,所以
裏面的備選答案是無序的,可以隨意排列,哪怕將default語句放到第一個備選位置都可以。

但是,他們的執行卻是有順序的,無論default語句在哪個位置,都是率先執行第一個case語句,
最後纔是default語句。

瞭解了switch語句的特點以後,我們同樣可以用來做關於星期和季節的練習。
*/
int d=8;
switch (d)
{
case 1:
System.out.println(d+"對應的星期是星期一。");
break;
case 2:
System.out.println(d+"對應的星期是星期二。");
break;
case 3:
System.out.println(d+"對應的星期是星期三。");
break;
case 4:
System.out.println(d+"對應的星期是星期四。");
break;
case 5:
System.out.println(d+"對應的星期是星期五。");
break;
case 6:
System.out.println(d+"對應的星期是星期六。");
break;
case 7:
System.out.println(d+"對應的星期是星期天。");
break;
default:
System.out.println("對不起,輸入有誤。");
break;
}


//關於季節的表達


int e=3;
switch (e)
{
case 3: //這裏答案就匹配了,因爲沒有執行語句,也沒有break跳出,所以程序會自動向下執行。
case 4: //到這裏的時候因爲上面已經匹配所以不會再做選擇,僅僅只是按着順序執行而已。
case 5://這裏也是依次執行。
System.out.println(e+"月是春季。");//繼續執行到這裏的輸出語句。
break;//這裏有break,所以程序跳出,結束語句。
case 6://如果上面沒有匹配,它會自動判斷答案是否正確,不正確也不會在乎有沒有執行語句和
case 7://break跳出語句。只會繼續向下檢查case備選答案是否有匹配。
case 8:
System.out.println(e+"月是夏季。");
break;
case 9:
case 10:
case 11:
System.out.println(e+"月是秋季。");
break;
case 12:
case 1:
case 2:
System.out.println(e+"月是冬季。");
break;
default :
System.out.println("對不起,輸入錯誤。");
break;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章