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

<small>

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

分支:有選擇性的執(zhí)行其中某一段代碼。

java中的代碼組成結(jié)構(gòu),只有三種:
順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

1)、分支結(jié)構(gòu)兩種

a、if-else分支
   ①、if(一條分支可選)  **
    語法:
    if(邏輯判斷){
        執(zhí)行代碼塊;
    }

    如果邏輯判斷為真,執(zhí)行代碼塊;

   ②、if-else(兩條分支,必定會(huì)選一條) **
    語法:
    if(邏輯判斷){
        執(zhí)行代碼塊1;
    }else{
        執(zhí)行代碼塊2;
    }

    如果邏輯判斷為真,執(zhí)行代碼塊1;
    否則執(zhí)行代碼塊2;

   ③、if-else if(多條分支)XX
    語法:
    if(邏輯判斷1){
        執(zhí)行代碼塊1;
    }else if(邏輯判斷2){
        執(zhí)行代碼塊2;
    }else if(邏輯判斷3){
        執(zhí)行代碼塊3;
    }.....

    如果邏輯判斷1為真,執(zhí)行代碼塊1;
    如果邏輯判斷2為真,執(zhí)行代碼塊2;
    如果邏輯判斷3為真,執(zhí)行代碼塊3;
    .....

   ④、if-else if....-else(多條分支,必定會(huì)選一條) **
    語法:
    if(邏輯判斷1){
        執(zhí)行代碼塊1;
    }else if(邏輯判斷2){
        執(zhí)行代碼塊2;
    }else if(邏輯判斷3){
        執(zhí)行代碼塊3;
    }.....
    else{
        執(zhí)行代碼塊N;
    }
    如果邏輯判斷1為真,執(zhí)行代碼塊1;
    如果邏輯判斷2為真,執(zhí)行代碼塊2;
    如果邏輯判斷3為真,執(zhí)行代碼塊3;
    .....
    如果上述分支都不選,否則執(zhí)行代碼塊N;

建議:
if、if-else、if-else if-else為經(jīng)常用。
分支條件,一定要考慮閉環(huán)操作。

練習(xí):
要求控制臺(tái)輸入一個(gè)年份,
判斷該年份是否為閏年。
控制臺(tái)輸出:XXXX年是閏年(XXXX年不是閏年)。

2)、switch-case分支
    局限性非常大
    語法:
    switch(整型||枚舉||jdk1.8以后支持字符串){
        case 情形1:
            執(zhí)行代碼塊1;
            break;
        case 情形2:
            執(zhí)行代碼塊2;
            break;
        .....
        case 情形N:
            執(zhí)行代碼塊N;
            break;
        default:
             以上情形都不滿足,執(zhí)行此代碼塊;
    }
    ```
>局限性:
    1、判斷條件只能是:
        整型||枚舉||jdk1.8以后支持字符串
        不可以進(jìn)行范圍判斷。
    2、break的使用。
    3、default的使用。

>2、if-else、switch-case分支的比較
    1)、所有的switch-case,都能通過if-else改造。
        但是if-else不能隨便改造成switch-case。
    2)、switch-case不能判斷范圍,if-else可以。
    3)、if-else只選一條分支,switch-case可以實(shí)現(xiàn)多選。
4)、switch-case簡潔明了,對(duì)整型的判斷,適當(dāng)使用。
        if-else使用頻率最高。


**5)、if-else與三目運(yùn)算符有類似之處,
    所有的三目運(yùn)算符,都可以通過if-else替換。

    邏輯判斷 ? 表達(dá)式1 : 表達(dá)式2;
    如果邏輯判斷為真,執(zhí)行表達(dá)式1,
        否則執(zhí)行表達(dá)式2。

    if(邏輯判斷){
        執(zhí)行代碼1;
    }else{
        執(zhí)行代碼2;
    }
    如果邏輯判斷為真,執(zhí)行代碼1,
        否則執(zhí)行代碼2。

>練習(xí):
        要求控制臺(tái)輸入:年份,月份。
        通過代碼判斷,控制臺(tái)輸出:
        xxxx年xx月,含有xx天。


    

補(bǔ)充知識(shí)點(diǎn):
1、java.util.Scanner類    
    java.util.Scanner類
       工具類,控制臺(tái)掃描器。
       用于掃描控制臺(tái)的輸入,并獲得輸入內(nèi)容。

    此類非java.lang包下的類,需要導(dǎo)入。

1)、java.util.Scanner類使用步驟
step1:導(dǎo)入
               在第一行的package包路徑下導(dǎo)入。
            import java.util.Scanner;
step2:創(chuàng)建Scanner對(duì)象
               Scanner sc = new Scanner(System.in);
step3:掃描控制臺(tái)輸入,
            并使用變量存放控制臺(tái)輸入內(nèi)容。
注意:a、next與nextLine的區(qū)別?
            b、類型一定要對(duì)應(yīng)。      
2)、快速導(dǎo)入
        a、單擊錯(cuò)誤提示
           選擇正確的類,雙擊導(dǎo)入。
b、首先你得知道類名前幾個(gè)字母。
            Alt + / 快速選擇導(dǎo)入。
c、寫出完整的類名
            ctrl + shift + o
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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