程序執行的過程,咱們能夠把它認爲是一個流,實際的業務需求會根據不一樣的狀況,來控制程序不一樣的流轉。這篇文章來討論其中的一種程序流轉狀況,選擇控制流轉。Java 中對應的結構爲控制結構。java
第一種狀況,簡單的判斷,意思是:若是知足某個條件,就會執行。spa
若是(條件知足) { 作某些事情 }
int age = 20; if (age > 18) { System.out.println("你有投票權利"); }
執行結果:code
你有投票權利
也能夠簡寫,可是不建議這樣作,由於語句比較多的狀況下,程序的可讀性很差。blog
if (age > 18) System.out.println("你有投票權利");
若是知足A
條件,就執行 a
操做,不然執行 b
操做。rem
若是(知足A) { 執行 a 操做 } 不然 { 執行 b 操做 }
實例:it
int age = 17; if (age > 18) { System.out.println("你有投票權利。"); } else { System.out.println("對不起,你還未到投票的年齡。"); }
結果輸出:class
對不起,你還未到投票的年齡。
若是知足 A
條件,執行 a
操做,若是知足 B
條件,執行 b
操做,不然都執行 c
操做。變量
若是 (知足A) { 執行 a 操做 } 若是 (知足B) { 執行 b 操做 } 不然 { 執行 c 操做 }
實例:根據年齡收費的遊樂場,規則爲數據類型
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);
一個變量,當等於不一樣的值,執行不一樣的操做。
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
語句以後的語句開始執行,直到break
語句出現纔會跳出switch
語句。break
語句時,switch
語句終止。程序跳轉到switch
語句後面的語句執行。case
語句沒必要需要包含break
語句。若是沒有break
語句出現,程序會繼續執行下一條case
語句,直到出現break
語句。switch
語句能夠包含一個default
分支,該分支必須是switch
語句的最後一個分支。default
在沒有case
語句的值和變量值相等的時候執行。default
分支不須要break
語句。