選擇結構
- 變量和數據類型,賦值和輸出
- 算術運算
- 選擇結構
- 循環結構
- 函數定義,函數調用
- 變量作用域
- 棧,程序運行的基石
- 面向對象
- 異常處理
- 語言提供的公用包
上一節介紹了Java的算術運算,如加減乘除等,Java的運算規則跟四則運算一樣。這節我們介紹選擇結構
一般來說程序有三種結構:
- 順序結構
- 選擇結構
- 循環結構
程序至上而下逐行執行,一條語句執行完之后繼續執行下一條語句,如下圖所示:
選擇結構是根據條件的成立與否,再決定要執行哪些語句的一種結構。如果我沒記錯,現在中學階段都會學簡單的流程圖。
case1
先看最常見的選擇結構,如果判斷條件成立,執行語句1,執行完語句1之后到語句3.如果判斷條件不成立,執行語句2,執行完語句2之后執行語句3.
if (判斷條件) {
語句1;
} else {
語句2;
}
語句3
case2
還有一種常見的選擇結構,如果判斷條件成立,則執行主體語句。執行完主體語句之后執行其他語句。
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
case3是比較復雜的if elseif 結構
if (判斷條件1) {
主體語句1;
} else if (判斷條件2) {
主體語句2;
} else if (判斷條件3) {
主體語句3;
} else {
主體語句4
}
順着前面的講解,我們試着通過一個例子說明if elseif 的用法。
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/。 用邏輯圖來說明就是:
總結
- 選擇結構使用if else語法,或者單獨使用if
- if(){} else if {} else if{} else {} 表達了,如果,否則,否則,否則...
作業
(同時回顧前兩節的內容)
- 定義一個int變量,給定一個值,比如是7,程序輸出該值是“偶數”還是“奇數”
- 定義三個double變量,比如double chinese = 85f, double math = 80f...;值在初始化時給定,寫程序計算三門成績的平均分,如果平均大於60分,輸出及格,如果大於80分輸出優良,大於90分輸出優秀,否則就輸出不及格