流程控制
不論哪種編程語言,都有各種各樣的流程控制結(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分支語句是用多個整型值進(jìn)行匹配,從而實(shí)現(xiàn)分支控制
①if條件語句
if條件語句有三種形式
第一種形式:if(判斷){可執(zhí)行語句}
舉個栗子:
結(jié)果輸出:a大于b
第二種形式:if(判斷){可執(zhí)行語句}else{可執(zhí)行語句}
舉個栗子:
我們在第一種形式的基礎(chǔ)上耸序,修改b的值忍些,并添加一個else{System.out.println("a小于b")}
當(dāng)程序執(zhí)行到if語句時,由于a小于b坎怪,所以第一個判斷輸出false罢坝,程序跳過if內(nèi)的可執(zhí)行語句,執(zhí)行else內(nèi)的可執(zhí)行語句
結(jié)果輸出:a小于b
第三種形式:if(判斷){可執(zhí)行語句}else if(判斷){可執(zhí)行語句}....else{可執(zhí)行語句}
“....”內(nèi)可以有零個到多個 else if語句搅窿,最后的else也可以省略掉
舉個栗子:
將原本的程序中的b的值改為2嘁酿,并且修改if條件語句的形式為第三種形式
結(jié)果輸出:a等于b
當(dāng)然,我們最后的else改成else if語句也是可以的
②switch分支語句
switch語句由一個控制表達(dá)式和多個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)可以有零個到多個case分支
舉個栗子:
輸出結(jié)果為:現(xiàn)在是春天隔箍!
這里switch接收String類型的實(shí)例reason谓娃,reason的內(nèi)容匹配到switch分支語句的第一個分支,所以輸出第一個分支的內(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í)行某段代碼竹握,只要在合適的時候?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)體時,總要先判斷條件是否為true芹关,如果為true就執(zhí)行循環(huán)體的內(nèi)容
while循環(huán)語句的語法:while(判斷){可執(zhí)行代碼}
舉個栗子:
輸出結(jié)果為:0 1 2 3 4
每執(zhí)行一次循環(huán)體续挟,a的值就加1,當(dāng)a等于5時充边,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(判斷);
舉個栗子:
輸出結(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差不多,但是比前兩個更簡便投蝉,大部分情況下可以代替while循環(huán)和do...while循環(huán)
for循環(huán)語句的語法:for(變量养葵;判斷;控制條件){可執(zhí)行語句}
舉個栗子:
輸出結(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中有三個控制循環(huán)結(jié)構(gòu)的語句
①break(用于完全結(jié)束一個循環(huán)斤儿,跳出循環(huán)體)
舉個栗子:
break語句結(jié)束循環(huán)結(jié)果:
②continue(用于忽略當(dāng)次循環(huán)剧包,繼續(xù)下次循環(huán))
舉個栗子:
continue語句結(jié)束循環(huán)結(jié)果:
③return(用于結(jié)束方法,當(dāng)程序執(zhí)行到return往果,這個方法直接被結(jié)束)
舉個栗子:
return語句結(jié)束循環(huán)結(jié)果:
從三個例子可以看出疆液,break語句是結(jié)束方法中的循環(huán),但是循環(huán)外的代碼還是會被執(zhí)行到棚放;continue語句是忽略當(dāng)次循環(huán)枚粘,會繼續(xù)完成未完成的循環(huán)后,才結(jié)束循環(huán)飘蚯;return語句直接結(jié)束方法馍迄,循環(huán)外的代碼也不會被執(zhí)行。
如果有幫助請記得收藏局骤,如果有錯誤請幫忙指出來攀圈!