上一節介紹了Java的算術運算,如加減乘除等,Java的運算規則跟四則運算同樣。這節咱們介紹選擇結構html
通常來講程序有三種結構:函數
程序至上而下逐行執行,一條語句執行完以後繼續執行下一條語句,以下圖所示:code
選擇結構是根據條件的成立與否,再決定要執行哪些語句的一種結構。若是我沒記錯,如今中學階段都會學簡單的流程圖。htm
先看最多見的選擇結構,若是判斷條件成立,執行語句1,執行完語句1以後到語句3.若是判斷條件不成立,執行語句2,執行完語句2以後執行語句3.對象
if (判斷條件) { 語句1; } else { 語句2; } 語句3
還有一種常見的選擇結構,若是判斷條件成立,則執行主體語句。執行完主體語句以後執行其餘語句。blog
if (判斷條件) { 主體語句; } 其餘語句
/** * 本例子講解選擇結構 * 同時也回顧以前的知識點 */ 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是比較複雜的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
(同時回顧前兩節的內容)變量