您好,登錄后才能下訂單哦!
我們從零開始學習大數據技術,從java基礎,到Linux技術涉獵,再深入到大數據技術的Hadoop、Spark、Storm技術,最后到大數據企業平臺的搭建,層層遞進,由點到面!希望技術大牛能過來指導學習。
上一節學習了流程控制語句,本節學習switch語句。
開始之前,我們先看一下上節的練習題。
一、練習題
if語句格式的練習:
1、獲取兩個數據中較大的值
2、判斷一個數據是奇數還是偶數,并輸出
程序執行結果如下:
二、switch語句
流程控制語句的選擇結構
選擇結構有兩種語句,分別為如下:
if 語句
switch語句
前面已經對if語句做了探討,本節往下一起了解下switch語句
switch語句
switch語句格式:
switch(表達式){
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
...
default;
語句體n+1;
break;
}
格式的解釋:
switch:表示這是switch選擇結構
表達式:這個地方的取值有限定的
byte,short,int,char
JDK5以后可以是枚舉
JDK7以后可以是字符串
case:后面跟的是要和表達式進行比較的值
語句體:要執行的代碼
break:表示中斷和結束的意思,可以控制switch語句的結束
default:當所有的值和表達式不匹配的時候,就執行default控制的語句,其實就相當于if語句的else
執行流程:
首先計算出表達式的值和case依次比較
一旦有對應的值,就執行相應的語句體
在執行的過程中,遇到break就會結束
最后,如果所有的case都和表達式的值不匹配,就會執行default中的語句體,程序結束
思考:
byte可以作為switch的表達式嗎?
long可以作為switch的表達式嗎?
String可以作為switch的表達式嗎?
實例:
鍵盤錄入一個數據,根據這個數據,我們輸出對應的星期
鍵盤錄入1,對應輸出星期一
鍵盤錄入2,對應輸出星期二
...
鍵盤錄入7,對應輸出星期日
實例分析:
1、鍵盤錄入,用switch實現
2、判斷我們可以使用if語句,也可以使用switch語句
程序代碼:
程序執行結果:
可以省略,但是不建議,因為它的作用是對不正確的情況給出的提示。
特殊情況:case就可以把值固定的(單選項),可以考慮把default給省略
可以省略,不會報錯,但是最終執行結果不是我們想要的,會出現case穿透現象。
不建議省略。
4、
不是,可以在任意位置,但是建議在最后,否則匯產生case穿透。
5、
遇到break就結束
下面我們針對相關實例看下注意實現的效果。
1、舉例(同名case ID & 變量ID)
程序執行結果:
可見,case后面跟的必須是常量,不可以是變量,并且case后面的值不能相同。
2、舉例(省略default語句)
程序執行結果:
可見,在swith語句中,default是可以省略的,但是最終會導致一些不正確的情況不被排除在外,可以正常輸入。雖然省略default不會有報錯,但不建議省略掉。
3、舉例(省略break)
程序執行結果:
可見,在程序執行的時候,如果沒有break進行程序中斷,那么程序會依次按照順序往下執行,直到遇到break才中止。雖然省略break不會有報錯,但不建議省略掉,否則程序打印的結果會有誤。
4、舉例(default語句不放最后)
程序執行結果:
可見,如果default不放在最后,程序本身不會報錯,但是最終執行的時候,會出現case穿透。
5、舉例:(switch語句結束條件)
程序執行結果:
可見,在語句x,y中的,遇到了break就直接結束語句輸出;
在語句a,b中,沒有遇到break,則程序執行到最后才做輸出。
1、隨便出一個選擇題,通過鍵盤錄入,根據我們的選擇來給出你的選擇結果。
2、根據鍵盤錄入的字符串,判斷是否有滿足要求的,如果有就輸出否則,提示有誤。
本節我們就先告一段落,下一節我們將學習循環結構語句
往期文章:
從零開始學大數據-Java基礎開篇(1)
從零開始學大數據-Java基礎語法(2)
從零開始學大數據-Java運算符(3)
從零開始學大數據-Java基礎-三元運算符/鍵盤錄入(4)
從零開始學大數據-Java基礎-流程控制語句(5)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。