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

相關(guān)文章
JavaWeb踩坑記錄之項(xiàng)目訪問不到html文件
這篇文章主要給大家介紹了關(guān)于JavaWeb踩坑記錄之項(xiàng)目訪問不到html文件的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用JavaWeb具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03
SpringBoot Mybatis Plus公共字段自動填充功能
這篇文章主要介紹了SpringBoot Mybatis Plus公共字段自動填充功能的相關(guān)資料,需要的朋友可以參考下2017-04-04
SpringBoot詳解如果通過@Value注解給靜態(tài)變量注入值
這篇文章主要介紹了springboot如何通過@Value給靜態(tài)變量注入值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
使用mybatis-plus-generator進(jìn)行代碼自動生成的方法
這篇文章主要介紹了使用mybatis-plus-generator進(jìn)行代碼自動生成的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
eclipse實(shí)現(xiàn)ECDSA數(shù)字簽名
這篇文章主要為大家詳細(xì)介紹了eclipse實(shí)現(xiàn)ECDSA數(shù)字簽名,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
AQS同步組件CyclicBarrier循環(huán)屏障用例剖析
這篇文章主要為大家介紹了AQS同步組件CyclicBarrier循環(huán)屏障用例剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08

