流程控制
不論哪種編程語言,都有各種各樣的流程控制結(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è)栗子:

結(jié)果輸出:a大于b
第二種形式:if(判斷){可執(zhí)行語句}else{可執(zhí)行語句}
舉個(gè)栗子:

我們在第一種形式的基礎(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è)栗子:

將原本的程序中的b的值改為2,并且修改if條件語句的形式為第三種形式
結(jié)果輸出:a等于b
當(dāng)然,我們最后的else改成else 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è)栗子:

輸出結(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è)栗子:

輸出結(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è)栗子:

輸出結(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è)栗子:

輸出結(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次
這里就不多做說明,只舉栗子:

輸出結(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語句結(jié)束循環(huán)結(jié)果:

②continue(用于忽略當(dāng)次循環(huán),繼續(xù)下次循環(huán))
舉個(gè)栗子:

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

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

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

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