【麥兜】Java基礎(chǔ)知識鞏固——流程控制

流程控制

不論哪種編程語言,都有各種各樣的流程控制結(jié)構(gòu),本篇文章介紹的就是各種不同的流程控制結(jié)構(gòu),比如:順序結(jié)構(gòu)、分支結(jié)構(gòu)等等

順序結(jié)構(gòu)

任何編程語言最常見的就是順序結(jié)構(gòu),順序結(jié)構(gòu)就是從上到下逐行地執(zhí)行程序中的代碼,中間沒有任何的判斷和跳轉(zhuǎn),這就是說,在main主方法中,排在前面的代碼先執(zhí)行,排在后面的代碼后執(zhí)行。

分支結(jié)構(gòu)

java提供了兩種常見的分支結(jié)構(gòu),if條件語句和switch分支語句,其中

if條件語句是使用布爾表達(dá)式或者布爾值來為分支條件進(jìn)行分支控制

switch分支語句是用多個(gè)整型值進(jìn)行匹配,從而實(shí)現(xiàn)分支控制

①if條件語句

if條件語句有三種形式

第一種形式:if(判斷){可執(zhí)行語句}

舉個(gè)栗子:

if條件語句第一種形式

結(jié)果輸出:a大于b


第二種形式:if(判斷){可執(zhí)行語句}else{可執(zhí)行語句}

舉個(gè)栗子:

if條件語句第二種形式

我們在第一種形式的基礎(chǔ)上,修改b的值,并添加一個(gè)else{System.out.println("a小于b")}

當(dāng)程序執(zhí)行到if語句時(shí),由于a小于b,所以第一個(gè)判斷輸出false,程序跳過if內(nèi)的可執(zhí)行語句,執(zhí)行else內(nèi)的可執(zhí)行語句

結(jié)果輸出:a小于b


第三種形式:if(判斷){可執(zhí)行語句}else if(判斷){可執(zhí)行語句}....else{可執(zhí)行語句}

“....”內(nèi)可以有零個(gè)到多個(gè) else if語句,最后的else也可以省略掉

舉個(gè)栗子:

if條件語句第三種形式

將原本的程序中的b的值改為2,并且修改if條件語句的形式為第三種形式

結(jié)果輸出:a等于b

當(dāng)然,我們最后的else改成else if語句也是可以的


if條件語句的第三種形式

②switch分支語句

switch語句由一個(gè)控制表達(dá)式和多個(gè)case標(biāo)簽組成,switch語句后面的控制表達(dá)式的數(shù)據(jù)類型只能是byte、short、char、int四種整數(shù)類型,枚舉類型和String(java.lang.String)類型

switch語句的語法格式為:

switch(判斷)

{case 分支1:{可執(zhí)行語句;break;}case 分支2:{可執(zhí)行語句;break;}...default:{可執(zhí)行語句}}

“...”內(nèi)可以有零個(gè)到多個(gè)case分支

舉個(gè)栗子:

switch分支語句

輸出結(jié)果為:現(xiàn)在是春天!

這里switch接收String類型的實(shí)例reason,reason的內(nèi)容匹配到switch分支語句的第一個(gè)分支,所以輸出第一個(gè)分支的內(nèi)容,如果將reason改成其他的分支,則輸出對應(yīng)的內(nèi)容,如果reason的內(nèi)容不在分之內(nèi),則輸出default的內(nèi)容。


循環(huán)結(jié)構(gòu)

循環(huán)語句可以在滿足循環(huán)條件的情況下,一直反復(fù)執(zhí)行某段代碼,只要在合適的時(shí)候?qū)⒀h(huán)的條件改為假,就能結(jié)束循環(huán)。

這段重復(fù)執(zhí)行的代碼就被成為循環(huán)體

循環(huán)結(jié)構(gòu)包含三種循環(huán)語句,分別是while,do...while和for

①while循環(huán)語句(“當(dāng)”循環(huán))

while循環(huán)每次執(zhí)行循環(huán)體時(shí),總要先判斷條件是否為true,如果為true就執(zhí)行循環(huán)體的內(nèi)容

while循環(huán)語句的語法:while(判斷){可執(zhí)行代碼}

舉個(gè)栗子:


while循環(huán)語句

輸出結(jié)果為:0 1 2 3 4

每執(zhí)行一次循環(huán)體,a的值就加1,當(dāng)a等于5時(shí),while的判斷條件為false,結(jié)束循環(huán)


②do...while循環(huán)語句(“直到”循環(huán))

do...while循環(huán)每次都是先執(zhí)行循環(huán)體的內(nèi)容,再進(jìn)行條件判斷,如果條件為true,則繼續(xù)執(zhí)行循環(huán)體內(nèi)容

do...while循環(huán)語句的語法:do{可執(zhí)行語句}while(判斷);

舉個(gè)栗子:

do...while循環(huán)語句

輸出結(jié)果為:0 1 2 3 4

每執(zhí)行一次循環(huán)體,b的值就加1,然后進(jìn)行判斷b是否小于5,如果小于5,繼續(xù)執(zhí)行循環(huán)體內(nèi)容,直到b不再小于5


③for循環(huán)語句

for循環(huán)功能跟while和do...while差不多,但是比前兩個(gè)更簡便,大部分情況下可以代替while循環(huán)和do...while循環(huán)

for循環(huán)語句的語法:for(變量;判斷;控制條件){可執(zhí)行語句}

舉個(gè)栗子:

for循環(huán)語句

輸出結(jié)果為:0 1 2 3 4

for循環(huán)語句就相當(dāng)于把循環(huán)體內(nèi)控制循環(huán)條件的代碼移到循環(huán)體外面,每次判斷之后,只要c是小于5的,就自動為c加上1,直到c不再小于5,退出循環(huán)


④嵌套循環(huán)

嵌套循環(huán)就是將上面三種循環(huán)語句中的其中一種循環(huán)語句放入另一種循環(huán)語句中,執(zhí)行的次數(shù)為n*m次

這里就不多做說明,只舉栗子:


for...for嵌套循環(huán)

輸出結(jié)果為:

for...for嵌套循環(huán)的結(jié)果

控制循環(huán)結(jié)構(gòu)

有循環(huán)結(jié)構(gòu),當(dāng)然有控制循環(huán)結(jié)構(gòu),java中有三個(gè)控制循環(huán)結(jié)構(gòu)的語句

①break(用于完全結(jié)束一個(gè)循環(huán),跳出循環(huán)體)

舉個(gè)栗子:

break語句

break語句結(jié)束循環(huán)結(jié)果:

break語句控制循環(huán)結(jié)構(gòu)

②continue(用于忽略當(dāng)次循環(huán),繼續(xù)下次循環(huán))

舉個(gè)栗子:

continue語句

continue語句結(jié)束循環(huán)結(jié)果:

continue語句控制循環(huán)結(jié)構(gòu)

③return(用于結(jié)束方法,當(dāng)程序執(zhí)行到return,這個(gè)方法直接被結(jié)束)

舉個(gè)栗子:

return語句

return語句結(jié)束循環(huán)結(jié)果:

return語句控制循環(huán)結(jié)構(gòu)

從三個(gè)例子可以看出,break語句是結(jié)束方法中的循環(huán),但是循環(huán)外的代碼還是會被執(zhí)行到;continue語句是忽略當(dāng)次循環(huán),會繼續(xù)完成未完成的循環(huán)后,才結(jié)束循環(huán);return語句直接結(jié)束方法,循環(huán)外的代碼也不會被執(zhí)行。


如果有幫助請記得收藏,如果有錯誤請幫忙指出來!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容