1. 程式人生 > >java學習之流程控制語句(選擇結構)

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語句中的表示式只能是byteshortcharint型別的值,如果傳入其它型別的值,程式會報錯。但上述說法並不嚴謹,實際上在JDK5.0中引入的新特性enum列舉也可以作為switch語句表示式的值,在JDK7.0中也引入了新特性,switch語句可以接收一個String型別的值。

 

在使用switch語句的過程中,如果多個case條件後面的執行語句是一樣的,則該執行語句只需書寫一次即可,這是一種簡寫的方式。

例子:

上述程式碼中,當變數week值為1、2、3、4、5中任意一個值時,處理方式相同,都會列印“今天是工作日”。同理,當變數week值為6、7中任意一個值時,列印“今天是休息日”。