if...else if...else語(yǔ)句
if語(yǔ)句后面可以跟elseif…else語(yǔ)句,這種語(yǔ)句可以檢測(cè)到多種可能的情況。
使用if,else if,else語(yǔ)句的時(shí)候,需要注意下面幾點(diǎn):
if語(yǔ)句至多有1個(gè)else語(yǔ)句,else語(yǔ)句在所有的elseif語(yǔ)句之后。
If語(yǔ)句可以有若干個(gè)elseif語(yǔ)句,它們必須在else語(yǔ)句之前。
一旦其中一個(gè)else if語(yǔ)句檢測(cè)為true,其他的else if以及else語(yǔ)句都將跳過(guò)執(zhí)行。
語(yǔ)法
if...else語(yǔ)法格式如下:
if(布爾表達(dá)式 1){
//如果布爾表達(dá)式 1的值為true執(zhí)行代碼
}else if(布爾表達(dá)式 2){
//如果布爾表達(dá)式 2的值為true執(zhí)行代碼
}else if(布爾表達(dá)式 3){
//如果布爾表達(dá)式 3的值為true執(zhí)行代碼
}else {
//如果以上布爾表達(dá)式都不為true執(zhí)行代碼
}
實(shí)例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class Test { public static void main(String args[]){ int x = 30 ; if ( x == 10 ){ System.out.print( "Value of X is 10" ); } else if ( x == 20 ){ System.out.print( "Value of X is 20" ); } else if ( x == 30 ){ System.out.print( "Value of X is 30" ); } else { System.out.print( "This is else statement" ); } } } |
以上代碼編譯運(yùn)行結(jié)果如下:
1
|
Value of X is 30 |
嵌套的if…else語(yǔ)句
使用嵌套的if-else語(yǔ)句是合法的。也就是說(shuō)你可以在另一個(gè)if或者elseif語(yǔ)句中使用if或者elseif語(yǔ)句。
語(yǔ)法
嵌套的if…else語(yǔ)法格式如下:
if(布爾表達(dá)式 1){
////如果布爾表達(dá)式 1的值為true執(zhí)行代碼
if(布爾表達(dá)式 2){
////如果布爾表達(dá)式 2的值為true執(zhí)行代碼
}
}
你可以像 if 語(yǔ)句一樣嵌套 else if...else。
實(shí)例
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Test { public static void main(String args[]){ int x = 30 ; int y = 10 ; if ( x == 30 ){ if ( y == 10 ){ System.out.print( "X = 30 and Y = 10" ); } } } } |
以上代碼編譯運(yùn)行結(jié)果如下:
1
|
X = 30 and Y = 10 |
復(fù)合 if- else if – else 語(yǔ)句小例子:
百分制轉(zhuǎn)換為等級(jí)制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class IfElseDemo06{ public static void main(String[] args){ int a= 85 ; //聲明int 型變量a 并賦值85 if (a> 90 ){ //條件判斷 System.out.println( "成績(jī)" +a+ ",是A 等級(jí)" ); } else if (a> 80 ){ //條件判斷 System.out.println( "成績(jī)" +a+ ",是B 等級(jí)" ); } else if (a> 70 ){ //條件判斷 System.out.println( "成績(jī)" +a+ ",是C 等級(jí)" ); } else if (a> 60 ){ //條件判斷 System.out.println( "成績(jī)" +a+ ",是D 等級(jí)" ); } else { System.out.println( "成績(jī)" +a+ ",是B 等級(jí)" ); } } } |
運(yùn)行結(jié)果如圖所示。
1
|
成績(jī)85,是B等級(jí) |
再來(lái)總結(jié)一下if-else語(yǔ)句的規(guī)則:
1)、if后的括號(hào)不能省略,括號(hào)里表達(dá)式的值最終必須返回的是布爾值
2)、如果條件體內(nèi)只有一條語(yǔ)句需要執(zhí)行,那么if后面的大括號(hào)可以省略,但這是一種極為不好的編程習(xí)慣。
3)、對(duì)于給定的if,else語(yǔ)句是可選的,else if 語(yǔ)句也是可選的
4)、else和else if同時(shí)出現(xiàn)時(shí),else必須出現(xiàn)在else if 之后
5)、如果有多條else if語(yǔ)句同時(shí)出現(xiàn),那么如果有一條else if語(yǔ)句的表達(dá)式測(cè)試成功,那么會(huì)忽略掉其他所有else if和else分支。
6)、如果出現(xiàn)多個(gè)if,只有一個(gè)else的情形,else子句歸屬于最內(nèi)層的if語(yǔ)句