<small>
分支結(jié)構(gòu)
分支:有選擇性的執(zhí)行其中某一段代碼。
java中的代碼組成結(jié)構(gòu),只有三種:
順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
1)、分支結(jié)構(gòu)兩種
a、if-else分支
①、if(一條分支可選) **
語法:
if(邏輯判斷){
執(zhí)行代碼塊;
}
如果邏輯判斷為真,執(zhí)行代碼塊;
②、if-else(兩條分支,必定會(huì)選一條) **
語法:
if(邏輯判斷){
執(zhí)行代碼塊1;
}else{
執(zhí)行代碼塊2;
}
如果邏輯判斷為真,執(zhí)行代碼塊1;
否則執(zhí)行代碼塊2;
③、if-else if(多條分支)XX
語法:
if(邏輯判斷1){
執(zhí)行代碼塊1;
}else if(邏輯判斷2){
執(zhí)行代碼塊2;
}else if(邏輯判斷3){
執(zhí)行代碼塊3;
}.....
如果邏輯判斷1為真,執(zhí)行代碼塊1;
如果邏輯判斷2為真,執(zhí)行代碼塊2;
如果邏輯判斷3為真,執(zhí)行代碼塊3;
.....
④、if-else if....-else(多條分支,必定會(huì)選一條) **
語法:
if(邏輯判斷1){
執(zhí)行代碼塊1;
}else if(邏輯判斷2){
執(zhí)行代碼塊2;
}else if(邏輯判斷3){
執(zhí)行代碼塊3;
}.....
else{
執(zhí)行代碼塊N;
}
如果邏輯判斷1為真,執(zhí)行代碼塊1;
如果邏輯判斷2為真,執(zhí)行代碼塊2;
如果邏輯判斷3為真,執(zhí)行代碼塊3;
.....
如果上述分支都不選,否則執(zhí)行代碼塊N;
建議:
if、if-else、if-else if-else為經(jīng)常用。
分支條件,一定要考慮閉環(huán)操作。
練習(xí):
要求控制臺(tái)輸入一個(gè)年份,
判斷該年份是否為閏年。
控制臺(tái)輸出:XXXX年是閏年(XXXX年不是閏年)。
2)、switch-case分支
局限性非常大
語法:
switch(整型||枚舉||jdk1.8以后支持字符串){
case 情形1:
執(zhí)行代碼塊1;
break;
case 情形2:
執(zhí)行代碼塊2;
break;
.....
case 情形N:
執(zhí)行代碼塊N;
break;
default:
以上情形都不滿足,執(zhí)行此代碼塊;
}
```
>局限性:
1、判斷條件只能是:
整型||枚舉||jdk1.8以后支持字符串
不可以進(jìn)行范圍判斷。
2、break的使用。
3、default的使用。
>2、if-else、switch-case分支的比較
1)、所有的switch-case,都能通過if-else改造。
但是if-else不能隨便改造成switch-case。
2)、switch-case不能判斷范圍,if-else可以。
3)、if-else只選一條分支,switch-case可以實(shí)現(xiàn)多選。
4)、switch-case簡潔明了,對(duì)整型的判斷,適當(dāng)使用。
if-else使用頻率最高。
**5)、if-else與三目運(yùn)算符有類似之處,
所有的三目運(yùn)算符,都可以通過if-else替換。
邏輯判斷 ? 表達(dá)式1 : 表達(dá)式2;
如果邏輯判斷為真,執(zhí)行表達(dá)式1,
否則執(zhí)行表達(dá)式2。
if(邏輯判斷){
執(zhí)行代碼1;
}else{
執(zhí)行代碼2;
}
如果邏輯判斷為真,執(zhí)行代碼1,
否則執(zhí)行代碼2。
>練習(xí):
要求控制臺(tái)輸入:年份,月份。
通過代碼判斷,控制臺(tái)輸出:
xxxx年xx月,含有xx天。
補(bǔ)充知識(shí)點(diǎn):
1、java.util.Scanner類
java.util.Scanner類
工具類,控制臺(tái)掃描器。
用于掃描控制臺(tái)的輸入,并獲得輸入內(nèi)容。
此類非java.lang包下的類,需要導(dǎo)入。
1)、java.util.Scanner類使用步驟
step1:導(dǎo)入
在第一行的package包路徑下導(dǎo)入。
import java.util.Scanner;
step2:創(chuàng)建Scanner對(duì)象
Scanner sc = new Scanner(System.in);
step3:掃描控制臺(tái)輸入,
并使用變量存放控制臺(tái)輸入內(nèi)容。
注意:a、next與nextLine的區(qū)別?
b、類型一定要對(duì)應(yīng)。
2)、快速導(dǎo)入
a、單擊錯(cuò)誤提示
選擇正確的類,雙擊導(dǎo)入。
b、首先你得知道類名前幾個(gè)字母。
Alt + / 快速選擇導(dǎo)入。
c、寫出完整的類名
ctrl + shift + o