程序執行的過程,我們可以把它認爲是一個流,實際的業務需求會根據不同的情況,來控制程序不同的流轉。這篇文章來討論其中的一種程序流轉情況,選擇控制流轉。Java 中對應的結構爲控制結構。
1. if 結構
第一種情況,簡單的判斷,意思是:如果滿足某個條件,就會執行。
如果(條件滿足) {
做某些事情
}
int age = 20;
if (age > 18) {
System.out.println("你有投票權利");
}
執行結果:
你有投票權利
也可以簡寫,但是不建議這樣做,因爲語句比較多的情況下,程序的可讀性不好。
if (age > 18) System.out.println("你有投票權利");
2. if - else 結構
如果滿足A
條件,就執行 a
操作,否則執行 b
操作。
如果(滿足A) {
執行 a 操作
} 否則 {
執行 b 操作
}
實例:
int age = 17;
if (age > 18) {
System.out.println("你有投票權利。");
} else {
System.out.println("對不起,你還未到投票的年齡。");
}
結果輸出:
對不起,你還未到投票的年齡。
3. if -else if - else 結構
如果滿足 A
條件,執行 a
操作,如果滿足 B
條件,執行 b
操作,否則都執行 c
操作。
如果 (滿足A) {
執行 a 操作
} 如果 (滿足B) {
執行 b 操作
} 否則 {
執行 c 操作
}
實例:根據年齡收費的遊樂場,規則爲
- 4 歲以下免費
- 4 到 18 歲收費 40 元
- 18 歲(含 18)以上收費 70 元
Java 程序實現:
int age = 13;
if (age < 4) {
System.out.println("你需要消費爲 0 元");
} else if (age < 18) {
System.out.println("你需要消費爲 40 元");
} else {
System.out.println("你需要消費爲 70 元");
}
可以使用多個 else if
:
int age = 13;
int price;
if (age < 4) {
price = 0;
} else if (age < 18) {
price = 40;
} else if (age < 40) {
price = 60
} else {
price = 70;
}
System.out.println("你需要消費爲: ¥" + price);
else 可以省略:
int age = 13;
int price;
if (age < 4) {
price = 0;
} else if (age < 18) {
price = 40;
} else if (age < 40) {
price = 60
}
System.out.println("你需要消費爲: ¥" + price);
4. switch 結構
一個變量,當等於不同的值,執行不同的操作。
if-else if
語句表達:
int month = 5;
if (month == 5) {
System.out.println("5月");
} else if (month = 6) {
System.out.println("6月");
} else if (month = 7) {
System.out.println("7月");
} else if (month = 8) {
System.out.println("8月");
} else {
System.out.println("其他月");
}
使用 switch 結構:
int month = 5;
switch(month) {
case 5 :
System.out.println("5月");
break;//可選
case 6 :
System.out.println("6月");
break;//可選
case 7 :
System.out.println("7月");
break; //可選
case 8 :
System.out.println("8月");
break;//可選
default ://可選
System.out.println("其他月");
}
switch
語句具有如下規則:
switch
語句中的變量類型只能爲String
、byte
、short
、int
或者char
。switch
語句可以擁有多個case
語句,每個case
後面跟一個要比較的值和冒號。case
語句中的值的數據類型必須與變量的數據類型相同,而且只能是常量或者字面常量。- 當變量的值與case語句的值相等時,那麼
case
語句之後的語句開始執行,直到break
語句出現纔會跳出switch
語句。 - 當遇到
break
語句時,switch
語句終止。程序跳轉到switch
語句後面的語句執行。case
語句不必須要包含break
語句。如果沒有break
語句出現,程序會繼續執行下一條case
語句,直到出現break
語句。 switch
語句可以包含一個default
分支,該分支必須是switch
語句的最後一個分支。default
在沒有case
語句的值和變量值相等的時候執行。default
分支不需要break
語句。扣扣交流羣:468439140