從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)-創(chuàng)新互聯(lián)


我們從零開(kāi)始學(xué)習(xí)大數(shù)據(jù)技術(shù),從java基礎(chǔ),到Linux技術(shù)涉獵,再深入到大數(shù)據(jù)技術(shù)的Hadoop、Spark、Storm技術(shù),最后到大數(shù)據(jù)企業(yè)平臺(tái)的搭建,層層遞進(jìn),由點(diǎn)到面!希望技術(shù)大牛能過(guò)來(lái)指導(dǎo)學(xué)習(xí)。

創(chuàng)新互聯(lián)致力于網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站,成都網(wǎng)站設(shè)計(jì),集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過(guò)標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場(chǎng)競(jìng)爭(zhēng)中脫穎而出。 選擇創(chuàng)新互聯(lián),就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!

上一節(jié)學(xué)習(xí)了流程控制語(yǔ)句,本節(jié)學(xué)習(xí)switch語(yǔ)句。

開(kāi)始之前,我們先看一下上節(jié)的練習(xí)題。

一、練習(xí)題

if語(yǔ)句格式的練習(xí):

1、獲取兩個(gè)數(shù)據(jù)中較大的值

2、判斷一個(gè)數(shù)據(jù)是奇數(shù)還是偶數(shù),并輸出

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

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

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

二、switch語(yǔ)句

流程控制語(yǔ)句的選擇結(jié)構(gòu)

1
選擇結(jié)構(gòu)(也被稱(chēng)為分支結(jié)構(gòu))

選擇結(jié)構(gòu)有兩種語(yǔ)句,分別為如下:

  • if 語(yǔ)句

  • switch語(yǔ)句

前面已經(jīng)對(duì)if語(yǔ)句做了探討,本節(jié)往下一起了解下switch語(yǔ)句

switch語(yǔ)句


switch語(yǔ)句格式:

switch(表達(dá)式){

case 值1:

語(yǔ)句體1;

break;

case 值2:

語(yǔ)句體2;

break;

...

default;

語(yǔ)句體n+1;

break;

}

格式的解釋?zhuān)?/strong>

  • switch:表示這是switch選擇結(jié)構(gòu)

  • 表達(dá)式:這個(gè)地方的取值有限定的

byte,short,int,char

JDK5以后可以是枚舉

JDK7以后可以是字符串

  • case:后面跟的是要和表達(dá)式進(jìn)行比較的值

  • 語(yǔ)句體:要執(zhí)行的代碼

  • break:表示中斷和結(jié)束的意思,可以控制switch語(yǔ)句的結(jié)束

  • default:當(dāng)所有的值和表達(dá)式不匹配的時(shí)候,就執(zhí)行default控制的語(yǔ)句,其實(shí)就相當(dāng)于if語(yǔ)句的else


執(zhí)行流程:

  1. 首先計(jì)算出表達(dá)式的值和case依次比較

  2. 一旦有對(duì)應(yīng)的值,就執(zhí)行相應(yīng)的語(yǔ)句體

  3. 在執(zhí)行的過(guò)程中,遇到break就會(huì)結(jié)束

  4. 最后,如果所有的case都和表達(dá)式的值不匹配,就會(huì)執(zhí)行default中的語(yǔ)句體,程序結(jié)束


從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

思考:


  1. byte可以作為switch的表達(dá)式嗎?

  2. long可以作為switch的表達(dá)式嗎?

  3. String可以作為switch的表達(dá)式嗎?

實(shí)例:

鍵盤(pán)錄入一個(gè)數(shù)據(jù),根據(jù)這個(gè)數(shù)據(jù),我們輸出對(duì)應(yīng)的星期

  • 鍵盤(pán)錄入1,對(duì)應(yīng)輸出星期一

  • 鍵盤(pán)錄入2,對(duì)應(yīng)輸出星期二

  • ...

  • 鍵盤(pán)錄入7,對(duì)應(yīng)輸出星期日


實(shí)例分析:

1、鍵盤(pán)錄入,用switch實(shí)現(xiàn)

2、判斷我們可以使用if語(yǔ)句,也可以使用switch語(yǔ)句

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)程序代碼:

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)


從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

程序執(zhí)行結(jié)果:

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

switch語(yǔ)句的注意事項(xiàng):

1、
case 后面只能是常量,不能是變量,而且,多個(gè)case后面的值不能出現(xiàn)相同的

2、
default可以省略嗎?
  • 可以省略,但是不建議,因?yàn)樗淖饔檬菍?duì)不正確的情況給出的提示。

  • 特殊情況:case就可以把值固定的(單選項(xiàng)),可以考慮把default給省略

3、
break可以省略嗎?
  • 可以省略,不會(huì)報(bào)錯(cuò),但是最終執(zhí)行結(jié)果不是我們想要的,會(huì)出現(xiàn)case穿透現(xiàn)象。

  • 不建議省略。


4、

default一定要在最后嗎?
  • 不是,可以在任意位置,但是建議在最后,否則匯產(chǎn)生case穿透。


5、

switch語(yǔ)句的結(jié)束條件

  • 遇到break就結(jié)束


switch注意事項(xiàng)-實(shí)例

下面我們針對(duì)相關(guān)實(shí)例看下注意實(shí)現(xiàn)的效果。

1、舉例(同名case ID & 變量ID)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

程序執(zhí)行結(jié)果:

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

  • 可見(jiàn),case后面跟的必須是常量,不可以是變量,并且case后面的值不能相同。


從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

2、舉例(省略default語(yǔ)句)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)程序執(zhí)行結(jié)果:

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

  • 可見(jiàn),在swith語(yǔ)句中,default是可以省略的,但是最終會(huì)導(dǎo)致一些不正確的情況不被排除在外,可以正常輸入。雖然省略default不會(huì)有報(bào)錯(cuò),但不建議省略掉。


從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

3、舉例(省略break)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)程序執(zhí)行結(jié)果:

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

  • 可見(jiàn),在程序執(zhí)行的時(shí)候,如果沒(méi)有break進(jìn)行程序中斷,那么程序會(huì)依次按照順序往下執(zhí)行,直到遇到break才中止。雖然省略break不會(huì)有報(bào)錯(cuò),但不建議省略掉,否則程序打印的結(jié)果會(huì)有誤。


從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

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

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

程序執(zhí)行結(jié)果:

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

  • 可見(jiàn),如果default不放在最后,程序本身不會(huì)報(bào)錯(cuò),但是最終執(zhí)行的時(shí)候,會(huì)出現(xiàn)case穿透。


5、舉例:(switch語(yǔ)句結(jié)束條件)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

程序執(zhí)行結(jié)果:

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)

  • 可見(jiàn),在語(yǔ)句x,y中的,遇到了break就直接結(jié)束語(yǔ)句輸出;

  • 在語(yǔ)句a,b中,沒(méi)有遇到break,則程序執(zhí)行到最后才做輸出。


擴(kuò)展練習(xí)題(自行完成):

1、隨便出一個(gè)選擇題,通過(guò)鍵盤(pán)錄入,根據(jù)我們的選擇來(lái)給出你的選擇結(jié)果。

2、根據(jù)鍵盤(pán)錄入的字符串,判斷是否有滿(mǎn)足要求的,如果有就輸出否則,提示有誤。

本節(jié)我們就先告一段落,下一節(jié)我們將學(xué)習(xí)循環(huán)結(jié)構(gòu)語(yǔ)句

往期文章:

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)開(kāi)篇(1)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)語(yǔ)法(2)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java運(yùn)算符(3)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-三元運(yùn)算符/鍵盤(pán)錄入(4)

從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語(yǔ)句(5)



從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)


另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站名稱(chēng):從零開(kāi)始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-switch語(yǔ)句(6)-創(chuàng)新互聯(lián)
新聞來(lái)源:http://bm7419.com/article36/gdipg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、做網(wǎng)站、定制網(wǎng)站企業(yè)建站、軟件開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)