Java程序設計的基本結構 - 選擇結構

Java程序設計的基本結構 - 選擇結構

文本關鍵字:基本結構、選擇結構、if、else、switch、casejava

1、if-else結構

使用if-else選擇結構時,一個最基本的原則就是必定會有一個判斷條件,而且若是出現else必定會有一個與之對應的if。ide

  • 代碼格式:if(判斷條件){}else{}
  • 判斷條件部分能夠直接使用布爾值:true/false
  • 若是使用表達式做爲判斷條件則必需要保證最終的計算結果爲布爾類型

對於switch-case結構,總體的結構與if-else不一樣,雖然也是進行判斷,可是switch-case是指定一個變量或表達式做爲須要比對的值,經過case來羅列與之匹配的值,並寫出該狀況下須要執行的代碼。設計

  • 代碼格式:switch(變量或表達式){case 匹配值:代碼片斷;default:代碼片斷;}
  • 變量或表達式結果的類型只能爲:整數類型(byte、short、int),字符串String,字符char,枚舉enum
  • case自己具備穿透的特色,會從一個匹配的case進入執行,直到遇到break;爲止
  • default關鍵字能夠不出現,若是出現只能出如今最後的位置,在全部case都沒有匹配時執行(若是離default最近的一個case沒有使用break,則也可能會被執行)

1. 單if結構

單if結構是最簡單的選擇結構,表達的含義是:符合條件時,執行部分代碼,不符合條件時,什麼都不作,繼續執行選擇結構以後的代碼。須要注意的是,if用小括號裝一個條件,默認只能控制一條語句,若是須要控制多條語句須要使用大括號。3d

public static void main(Stirng[] args){
    // 假若有以下場景:你天天回家都要彙報你的考試成績和完成家庭做業
    // 若是你考的不錯(90分以上),那麼就會獲得一次誇獎
    // 若是考的不怎麼樣,就什麼都不會發生
    // 並且,無論考的怎麼樣,做業都是要完成的,就是如此的悲催
    int score = 92;
    if(score >= 90){
        // 爲了不沒必要要的麻煩,即便是一行代碼咱們也加上大括號,這招挺管用的!
        System.out.println("考的不錯!");
    }
    System.out.println("開始寫做業");
}

2. if-else結構

if-else結構是最基本的選擇結構,明確一個判斷條件後,指定條件成立時作什麼,條件不成立時作什麼。code

public static void main(Stirng[] args){
    // 假若有以下場景:根據不一樣的年級進入不一樣的活動教室
    // 3年級及如下的學生進入活動室一
    // 其餘年級學生進入活動教室二
    int grade = 2;
    if(grade <= 3){
        // 爲了不沒必要要的麻煩,即便是一行代碼咱們也加上大括號,這招挺管用的!
        System.out.println("進入活動教室一");
    }else{
        System.out.println("進入活動教室二");
    }
}

3. if-else if-else結構

若是咱們須要具體判斷的條件不少,那麼咱們就須要使用到多個if。須要注意的是,咱們能夠在一段程序中使用多個並列的if-else結構,可是這和if-eles if-else的結構並不等效,請看流程圖。
並列的if-else結構,每一個if後面均可以引導判斷條件,可是相互之間相對獨立,無關聯。blog

// 僞代碼以下:
public static void main(Stirng[] args){
    if(條件){
        // 程序代碼
    }else{
        // 程序代碼
    }
    if(條件){
        // 程序代碼
    }else{
        // 程序代碼
    }
}

Java程序設計的基本結構 - 選擇結構
對於if-else if-else結構,若是一個if中的條件爲真,則其餘的判斷分支將不會執行,即便判斷結果爲真!字符串

// 僞代碼以下:
public static void main(Stirng[] args){
    if(條件){
        // 程序代碼
    }else if(條件){
        // 程序代碼
    }else{
        // 程序代碼
    }
}

Java程序設計的基本結構 - 選擇結構

4. 嵌套結構

掌握了基本條件判斷結構後,對於複雜問題可能須要使用到嵌套結構。好比某一個問題須要分兩種或多種狀況討論,而這幾種狀況又須要進一步分多種狀況討論。it

// 僞代碼以下:
public static void main(Stirng[] args){
    if(條件){
        // 程序代碼
        if(條件){
            // 程序代碼
        }else{
            // 程序代碼
        }
    }else{
        // 程序代碼
    }
}

Java程序設計的基本結構 - 選擇結構

2、switch-case

switch-case結構也是選擇結構的一種,主要使用在選擇條件較多,而且主要是等值判斷時。若是咱們須要使用switch-case結構進行某一個範圍的判斷,那就須要下一點功夫來進行轉換。程序設計

1. 含有break和default

在這種狀況下會按次序進行判斷執行匹配到的case後面的代碼,執行完畢後直接結束switch-case結構,當全部的case都沒有匹配時,會執行default相關的代碼。
Java程序設計的基本結構 - 選擇結構class

public static void main(Stirng[] args){
    String sex = "女";
    switch(sex){
        case "男":
            System.out.println("男生");
            break;
        case "女":
            System.out.println("女生");
            break;
        default:
            System.out.println("怕是變異了?");
    }
}

2. 無break

當case對應的值被匹配到後,對應的代碼會被執行,因爲沒有break,將會繼續執行下一個case對應的代碼(包括default),直到整個switch-case都結束或遇到一個break爲止。
Java程序設計的基本結構 - 選擇結構

public static void main(Stirng[] args){
    // 有的時候咱們恰好能夠利用一下穿透的特色,來進行區間的判斷
    // 下面是一個經典案例:根據分數進行分檔
    // 90-100:A,80-89:B,70-79:C,60-69:D,0-59:不及格,其餘:錯誤的分數
    int score = 75;
    // switch的括號中可使用表達式,只要計算結果的類型知足要求便可
    // 對分數進行區間的劃分,至關於變向的範圍判斷
    switch(score / 10){
        case 10:
            // 此處什麼都不填寫,匹配到以後自動去執行case9對應的代碼
            // 可是case10不能省略,不然會丟失100分時的狀況
        case 9:
            System.out.println("A");
            break;
        case 8:
            System.out.println("B");
            break;
        case 7:
            System.out.println("C");
            break;
        case 6:
            System.out.println("D");
            break;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0:
            // 繼續使用穿透的特色,表示0-59分時的狀況
            System.out.println("不及格");
            break;
        default:
            // 當分數爲負數或大於100分時執行這部分的代碼
            System.out.println("成績錄入有誤");
    }
}
相關文章
相關標籤/搜索