我們從零開始學習大數(shù)據(jù)技術,從java基礎,到Linux技術涉獵,再深入到大數(shù)據(jù)技術的Hadoop、Spark、Storm技術,最后到大數(shù)據(jù)企業(yè)平臺的搭建,層層遞進,由點到面!希望技術大牛能過來指導學習。

上一節(jié)學習了流程控制語句,本節(jié)學習switch語句。
開始之前,我們先看一下上節(jié)的練習題。
一、練習題
if語句格式的練習:
1、獲取兩個數(shù)據(jù)中較大的值
2、判斷一個數(shù)據(jù)是奇數(shù)還是偶數(shù),并輸出

程序執(zhí)行結果如下:

二、switch語句
流程控制語句的選擇結構
選擇結構有兩種語句,分別為如下:
if 語句
switch語句
前面已經(jīng)對if語句做了探討,本節(jié)往下一起了解下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:后面跟的是要和表達式進行比較的值
語句體:要執(zhí)行的代碼
break:表示中斷和結束的意思,可以控制switch語句的結束
default:當所有的值和表達式不匹配的時候,就執(zhí)行default控制的語句,其實就相當于if語句的else
執(zhí)行流程:
首先計算出表達式的值和case依次比較
一旦有對應的值,就執(zhí)行相應的語句體
在執(zhí)行的過程中,遇到break就會結束
最后,如果所有的case都和表達式的值不匹配,就會執(zhí)行default中的語句體,程序結束

思考:
byte可以作為switch的表達式嗎?
long可以作為switch的表達式嗎?
String可以作為switch的表達式嗎?
實例:
鍵盤錄入一個數(shù)據(jù),根據(jù)這個數(shù)據(jù),我們輸出對應的星期
鍵盤錄入1,對應輸出星期一
鍵盤錄入2,對應輸出星期二
...
鍵盤錄入7,對應輸出星期日
實例分析:
1、鍵盤錄入,用switch實現(xiàn)
2、判斷我們可以使用if語句,也可以使用switch語句
程序代碼:



程序執(zhí)行結果:



可以省略,但是不建議,因為它的作用是對不正確的情況給出的提示。
特殊情況:case就可以把值固定的(單選項),可以考慮把default給省略
可以省略,不會報錯,但是最終執(zhí)行結果不是我們想要的,會出現(xiàn)case穿透現(xiàn)象。
不建議省略。
4、
不是,可以在任意位置,但是建議在最后,否則匯產(chǎn)生case穿透。
5、
遇到break就結束
下面我們針對相關實例看下注意實現(xiàn)的效果。
1、舉例(同名case ID & 變量ID)




程序執(zhí)行結果:


可見,case后面跟的必須是常量,不可以是變量,并且case后面的值不能相同。

2、舉例(省略default語句)



程序執(zhí)行結果:


可見,在swith語句中,default是可以省略的,但是最終會導致一些不正確的情況不被排除在外,可以正常輸入。雖然省略default不會有報錯,但不建議省略掉。

3、舉例(省略break)



程序執(zhí)行結果:


可見,在程序執(zhí)行的時候,如果沒有break進行程序中斷,那么程序會依次按照順序往下執(zhí)行,直到遇到break才中止。雖然省略break不會有報錯,但不建議省略掉,否則程序打印的結果會有誤。

4、舉例(default語句不放最后)




程序執(zhí)行結果:


可見,如果default不放在最后,程序本身不會報錯,但是最終執(zhí)行的時候,會出現(xiàn)case穿透。
5、舉例:(switch語句結束條件)


程序執(zhí)行結果:


可見,在語句x,y中的,遇到了break就直接結束語句輸出;
在語句a,b中,沒有遇到break,則程序執(zhí)行到最后才做輸出。
1、隨便出一個選擇題,通過鍵盤錄入,根據(jù)我們的選擇來給出你的選擇結果。
2、根據(jù)鍵盤錄入的字符串,判斷是否有滿足要求的,如果有就輸出否則,提示有誤。
本節(jié)我們就先告一段落,下一節(jié)我們將學習循環(huán)結構語句
往期文章:
從零開始學大數(shù)據(jù)-Java基礎開篇(1)
從零開始學大數(shù)據(jù)-Java基礎語法(2)
從零開始學大數(shù)據(jù)-Java運算符(3)
從零開始學大數(shù)據(jù)-Java基礎-三元運算符/鍵盤錄入(4)
從零開始學大數(shù)據(jù)-Java基礎-流程控制語句(5)

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)站名稱:從零開始學大數(shù)據(jù)-Java基礎-switch語句(6)-創(chuàng)新互聯(lián)
新聞來源:http://chinadenli.net/article36/gdipg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、做網(wǎng)站、定制網(wǎng)站、企業(yè)建站、軟件開發(fā)、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容