九天學會Java,第三天,選擇結構

選擇結構

  • 變量和數據類型,賦值和輸出
  • 算術運算
  • 選擇結構
  • 循環結構
  • 函數定義,函數調用
  • 變量做用域
  • 棧,程序運行的基石
  • 面向對象
  • 異常處理
  • 語言提供的公用包

上一節介紹了Java的算術運算,如加減乘除等,Java的運算規則跟四則運算同樣。這節咱們介紹選擇結構html

通常來講程序有三種結構:函數

  1. 順序結構
  2. 選擇結構
  3. 循環結構

程序至上而下逐行執行,一條語句執行完以後繼續執行下一條語句,以下圖所示:code

image

選擇結構是根據條件的成立與否,再決定要執行哪些語句的一種結構。若是我沒記錯,如今中學階段都會學簡單的流程圖。htm

case1

先看最多見的選擇結構,若是判斷條件成立,執行語句1,執行完語句1以後到語句3.若是判斷條件不成立,執行語句2,執行完語句2以後執行語句3.對象

if (判斷條件) {
    語句1;
} else {
    語句2;
}
語句3

image

case2

還有一種常見的選擇結構,若是判斷條件成立,則執行主體語句。執行完主體語句以後執行其餘語句。blog

if (判斷條件) {
     主體語句;
}
其餘語句

image

/**
 * 本例子講解選擇結構
 * 同時也回顧以前的知識點
 */
public class ThirdLesson {

    public static void main(String[] args) {
        /**
         * 新建一個浮點型變量,名字叫score,70.1f是70.1浮點數的意思
         * 把70.1賦值給score
         * 通常軟件裏,score是從外部輸入進來的,好比老師輸入你的分數
         */
        float score = 70.1f;
        /**
         * 若是score 大於等於60,則執行 System.out.println("You have passed the exam");
         * 而後執行System.out.println("程序繼續");
         *
         * 若是score 小於60,則執行System.out.println("You have failed the exam");
         * 而後執行System.out.println("程序繼續");
         * 
         * 請對照case1裏的流程圖思考
         */
        if (score >= 60) {
            System.out.println("You have passed the exam");
        } else {
            System.out.println("You have failed the exam");
        }
        System.out.println("程序繼續");
        /**
         * 修改變量score的值
         * 把100賦值給score
         */
        score = 100f;
        /**
         * 若是score > 99,則執行System.out.println("我草,學霸啊");
         * 而後執行System.out.println("本示例結束");
         * 
         * 請對照case2裏的流程圖思考
         */
        if (score > 99) {
            System.out.println("我草,學霸啊");
        }
        System.out.println("本示例結束");
    }
}

case3

case3是比較複雜的if elseif 結構作用域

if (判斷條件1) {
    主體語句1;
} else if (判斷條件2) {
    主體語句2;
} else if (判斷條件3) {
    主體語句3;
} else {
    主體語句4
}

順着前面的講解,咱們試着經過一個例子說明if elseif 的用法。get

score = 80f;
        if (score >= 100 /*判斷條件1*/) {
            System.out.println("哈哈,學霸呀"); /*執行語句1*/
        } else if (score >= 95 /*判斷條件2*/) {
            System.out.println("有成爲學霸的潛質"); /*執行語句2*/
        } else if (score >= 90 /*判斷條件3*/) {
            System.out.println("小夥可謂之優秀"); /*執行語句3*/
        } else if (score >= 80 /*判斷條件4*/) {
            System.out.println("小夥成績還不錯,優良"); /*執行語句4*/
        } else if (score >= 60 /*判斷條件5*/) {
            System.out.println("小夥及格了"); /*執行語句5*/
        } else {
            System.out.println("不到60分,你他喵逗我呢"); /** 執行語句6 **/
        }
        /** 繼續執行 **/

這個例子應該會輸出/執行語句4/的"小夥成績還不錯,優良"
若是把score=80f,改爲score=95f.會輸出 /執行語句2/ 的"有成爲學霸的潛質"。
因此整個邏輯是先判斷 /判斷條件1/ 成不成立,若是成立則執行 /執行語句1/ 。 不然,判斷/判斷條件2/,
若是成立,則執行 /執行語句2/。 用邏輯圖來講明就是:class

image

總結

  • 選擇結構使用if else語法,或者單獨使用if
  • if(){} else if {} else if{} else {} 表達了,若是,不然,不然,不然...

做業

(同時回顧前兩節的內容)變量

  • 定義一個int變量,給定一個值,好比是7,程序輸出該值是「偶數」仍是「奇數」
  • 定義三個double變量,好比double chinese = 85f, double math = 80f...;值在初始化時給定,寫程序計算三門成績的平均分,若是平均大於60分,輸出及格,若是大於80分輸出優良,大於90分輸出優秀,不然就輸出不及格

完整章節

相關文章
相關標籤/搜索