Java分支語(yǔ)句涉及的關(guān)鍵字
分支語(yǔ)句是java中最基礎(chǔ)也是很重要的一個(gè)知識(shí)點(diǎn),它的作用是可以讓程序根據(jù)各種不同的條件或者情況進(jìn)行判斷,從而選擇不同的結(jié)果.在java中,分支語(yǔ)句涉及的關(guān)鍵字包括:if,if…else,Switch等.
if結(jié)構(gòu)的第一種形式:
if(boolean值關(guān)系表達(dá)式){
語(yǔ)句體;
…
}
執(zhí)行流程:
1. 首先判斷關(guān)系表達(dá)式看其結(jié)果是true還是false
2. 如果是true就執(zhí)行語(yǔ)句體
3. 如果是false就不執(zhí)行語(yǔ)句體(跳過(guò)語(yǔ)句體執(zhí)行if下邊的語(yǔ)句)
例子:
int i = 10;
if(i>5){
System.out.println(“helloWorld”);
}
System.out.println(“程序結(jié)束”);
輸出結(jié)果:
helloWorld
程序結(jié)束
例子2:
int i = 10;
if(i>15){
System.out.println(“helloWorld”);
}
System.out.println(“程序結(jié)束”);
輸出結(jié)果:
程序結(jié)束
注意事項(xiàng):
1. 關(guān)系表達(dá)式無(wú)論簡(jiǎn)單還是復(fù)雜,結(jié)果必須是boolean類(lèi)型
2. if語(yǔ)句控制的語(yǔ)句體如果是一條語(yǔ)句,大括號(hào)可以省略;如果是多條語(yǔ)句,就不能省略。建議永遠(yuǎn)不要省略。(不帶括號(hào)最多控制一條語(yǔ)句)
if 結(jié)構(gòu)的第二種形式
if(關(guān)系表達(dá)式) {
語(yǔ)句體1;
}else {
語(yǔ)句體2;
}
執(zhí)行流程
1. 首先判斷關(guān)系表達(dá)式看其結(jié)果是true還是false
2. 如果是true就執(zhí)行語(yǔ)句體1
3. 如果是false就執(zhí)行語(yǔ)句體2
例子:
int I = 10;
if(i>11){
System.out.println(“i大于11”);
}else{
System.out.println(“i小于11”);
}
輸出結(jié)果:
i小于11
注意事項(xiàng):
1. if—else由if和緊隨其后的else組成。
2. else自己不能作為語(yǔ)句單獨(dú)使用,他必須是if語(yǔ)句的一部分,與最近的if配對(duì)
if 結(jié)構(gòu)的第三種格式
if(關(guān)系表達(dá)式1) {
語(yǔ)句體1;
}else if (關(guān)系表達(dá)式2) {
語(yǔ)句體2;
}
…
else {
語(yǔ)句體n+1;
}
執(zhí)行流程
1. 首先判斷關(guān)系表達(dá)式1看其結(jié)果是true還是false
2. 如果是true就執(zhí)行語(yǔ)句體1
3. 如果是false就繼續(xù)判斷關(guān)系表達(dá)式2看其結(jié)果是true還是false
4. 如果是true就執(zhí)行語(yǔ)句體2
5. 如果是false就繼續(xù)判斷關(guān)系表達(dá)式…看其結(jié)果是true還是false
6. …
如果沒(méi)有任何關(guān)系表達(dá)式為true,就執(zhí)行語(yǔ)句體n+1。
Switch分支語(yǔ)句
switch(表達(dá)式) {
case 值1:
語(yǔ)句體1;
break;
case 值2:
語(yǔ)句體2;
break;
…
default:
語(yǔ)句體n+1;
break;
}
格式解釋:
switch表示這是switch語(yǔ)句
表達(dá)式的取值:byte,short,int,char
JDK5以后可以是枚舉類(lèi)型
JDK7以后可以是String
case后面跟的是要和表達(dá)式進(jìn)行比較的值
語(yǔ)句體部分可以是一條或多條語(yǔ)句
break表示中斷,結(jié)束的意思,可以結(jié)束switch語(yǔ)句
default語(yǔ)句表示所有情況都不匹配的時(shí)候,就執(zhí)行該處的內(nèi)容,和if語(yǔ)句的else相似
執(zhí)行流程
1. 首先計(jì)算出表達(dá)式的值
2. 其次,和case依次比較,一旦有對(duì)應(yīng)的值,就會(huì)執(zhí)行相應(yīng)的語(yǔ)句,在執(zhí)行的過(guò)程中,遇到break就會(huì)結(jié)束。
3. 最后,如果所有的case都和表達(dá)式的值不匹配,就會(huì)執(zhí)行default語(yǔ)句體部分,然后程序結(jié)束掉。
注意事項(xiàng)
1. case后面只能是常量,不能是變量,而且,多個(gè)case后面的值不能出現(xiàn)相同的
2. default可以省略嗎?
a) 可以省略。一般不建議。除非判斷的值是固定的。(例如單選題)
3. break可以省略嗎?
a) 可以省略,一般不建議。如果省略break它將繼續(xù)執(zhí)行下一個(gè)case,而不是退出switch語(yǔ)句
4. default的位置一定要在最后嗎?
a) 可以出現(xiàn)在switch語(yǔ)句任意位置。
5. switch語(yǔ)句的結(jié)束條件
a) 遇到break,執(zhí)行到程序的末尾
- 贊