流程控制:分支结构
一.基本if選擇結構(單分支if選擇結構)
? ? ? ? ?語法結構:
? ? ? ? ? ? if(條件){
? ? ? ? ? ? ? ? ?代碼塊1
? ? ? ? ? ? ?}
? ? ? ? ? ? ?代碼塊2
????????如果條件為true,則執行{}里的代碼塊1,執行完代碼塊1之后,繼續往下執行{}后面的代塊2
????????如果條件為false,則直接結束if選擇結構,繼續往下執行{}后面的代碼塊2
? ? ? ? 注意:
????????1.條件只能是布爾值,不管這么條件寫的多么的簡單還是多么的復雜,條件值都只能是true或者false
????????2.如果代碼塊1只有一行語句,{}可以不寫,建議不要省略
雙分支if選擇結構:if-else結構
? ? ?語法結構:
? ? ? ? ?if(條件){
? ? ? ? ? ? ?代碼塊1;
? ? ? ? ?}else{
? ? ? ? ? ? ?代碼塊2;
? ? ? ? ?}
? ? ? ? ?代碼塊3;
執行規律:
????????如果條件為true,執行代碼塊1,執行完代碼塊1后結束整個if-else結構,執行if-else結構后面的代碼塊3
????????如果條件為false,執行代碼塊2,執行完代碼塊2后結束整個if-else結構,執行if-else結構后面的代碼塊3
注意:
????????1)條件不管多么的簡單還是多么的復雜,都只能是布爾值,要么為true,要么為false
多分支if選擇結構(if-else-if選擇結構)
? ? ?語法結構:
? ? ? ? ?if(條件1){
? ? ? ? ? ? ?代碼塊1;
? ? ? ? ?}else if(條件2){
? ? ? ? ? ? ?代碼塊2;
? ? ? ? ?}else if(條件3){
? ? ? ? ? ? ?代碼塊3;
? ? ? ? ?}.....
?
? ? ? ? ?}else{
? ? ? ? ? ? ?代碼塊n;
? ? ? ? ?}
執行規律:
????????先判斷條件1,如果條件1為true,則執行代碼塊1,執行完代碼塊1之后,結束這個if-else-if結構,繼續往下執行if-else-if結構之后的代碼
????????如果條件1為false,繼續往下判斷條件2,如果條件2為true,執行代碼塊2,執行完代碼塊2之后,結束這個if-else-if結構,繼續往下執行if-else-if結構之后的代碼
????????如果條件2為false,繼續往下判斷條件3,.......
????????如果所有的條件都為false,就執行else里面的代碼塊n,執行完代碼塊n后,結束這個if-else-if結構,繼續往下執行if-else-if結構后面代碼
????????注意事項:
????????1)所有的條件不管多么簡單還是多么復雜,都只能是布爾值,要么為true,要么為false
????????2)else可以省略不寫,如果所有的條件都不滿足,也沒有else,則整個if-else-if結構都不會執行
????????3)if-else-if結構中的條件,如果下面的條件會引用上面條件的潛在值,條件是有順序,嚴格的條件在上面.
2.switch-case選擇結構
switch(表達式){
case 常量1:
?? ?執行語句1;
?? ?//break;
case 常量2:
?? ?執行語句2;
?? ?//break;
...
default:
?? ?執行語句n;
?? ?//break;
}
2.說明:
① 根據switch表達式中的值,依次匹配各個case中的常量。一旦匹配成功,則進入相應case結構中,調用其執行語句。
? 當調用完執行語句以后,則仍然繼續向下執行其他case結構中的執行語句,直到遇到break關鍵字或此switch-case結構
? 末尾結束為止。
② break,可以使用在switch-case結構中,表示一旦執行到此關鍵字,就跳出switch-case結構
③ switch結構中的表達式,只能是如下的6種數據類型之一:
? ?byte 、short、char、int、枚舉類型(JDK5.0新增)、String類型(JDK7.0新增)
④ case 之后只能聲明常量。不能聲明范圍。
⑤ break關鍵字是可選的。
⑥ default:相當于if-else結構中的else. ?
? default結構是可選的,而且位置是靈活的。
3.如果switch-case結構中的多個case的執行語句相同,則可以考慮進行合并。
4.break在switch-case中是可選的
總結
- 上一篇: 小微商户对接api
- 下一篇: 【LeetCode】马三来刷题之Remo