java學習之流程控制語句(選擇結構)
流程控制語句
1 選擇結構 if
if語句有三種語法格式,每一種格式都有它自身的特點。
1.1 if語句
if語句是指如果滿足某種條件,就進行某種處理。
在Java中,if語句的具體語法格式如下:
if (條件語句){
執行語句;
……
}
接下來通過一段程式碼,學習一下if語句的具體用法,IfDemo01.java
在上述程式碼中,定義了一個變數x,其初始值為5。在if語句的判斷條件中判斷x的值是否小於10,很明顯條件成立,{}中的語句會被執行,變數x的值將進行自增。
從執行結果可以看出,x的值已由原來的5變成了6。
1.2 if...else 語句
if…else語句是指如果滿足某種條件,就進行某種處理,否則就進行另一種處理。
if…else語句具體語法格式如下:
if (判斷條件){
執行語句1
……
}else{
執行語句2
……
}
接下來通過一段程式碼,來實現判斷奇偶數的程式,IfDemo02.java
上述程式碼中,變數num的值為19,模以2的結果為1,不等於0,判斷條件不成立。因此會執行else後面{}中的語句,列印“num是一個奇數”。
1.3 if....else if....else語句
if…else if…else語句用於對多個條件進行判斷,進行多種不同的處理。
if…else if…else語句具體語法格式如下:
if (判斷條件1) {
執行語句1
} else if (判斷條件2) {
執行語句2
}
...
else if (判斷條件n) {
執行語句n
} else {
執行語句n+1
}
接下來通過一段程式碼,來實現對學生考試成績進行等級劃分的程式,IfDemo03.java
上述程式碼中,定義了學生成績grade為75。它不滿足第一個判斷條件grade>80,會執行第二個判斷條件grade>70,條件成立,因此會列印“該成績的等級為良”。
2 選擇結構 switch
switch 條件語句也是一種很常用的選擇語句,它和if條件語句不同,它只能針對某個表示式的值作出判斷,從而決定程式執行哪一段程式碼。
switch語句的基本語法格式,具體如下:
switch (表示式){
case 目標值1:
執行語句1
break;
case 目標值2:
執行語句2
break;
......
case 目標值n:
執行語句n
break;
default:
執行語句n+1
break;
}
在上面的格式中,switch語句將表示式的值與每個case中的目標值進行匹配,如果找到了匹配的值,會執行對應case後的語句,如果沒找到任何匹配的值,就會執行default後的語句。switch語句中的break關鍵字將在後面的做具體介紹,此處,我們只需要知道break的作用是跳出switch語句即可。
需要注意的是,在switch語句中的表示式只能是byte、short、char、int型別的值,如果傳入其它型別的值,程式會報錯。但上述說法並不嚴謹,實際上在JDK5.0中引入的新特性enum列舉也可以作為switch語句表示式的值,在JDK7.0中也引入了新特性,switch語句可以接收一個String型別的值。
在使用switch語句的過程中,如果多個case條件後面的執行語句是一樣的,則該執行語句只需書寫一次即可,這是一種簡寫的方式。
例子:
上述程式碼中,當變數week值為1、2、3、4、5中任意一個值時,處理方式相同,都會列印“今天是工作日”。同理,當變數week值為6、7中任意一個值時,列印“今天是休息日”。