官术网_书友最值得收藏!

5.2 if-else語句和?:運(yùn)算符

if-else語句可以根據(jù)不同的條件執(zhí)行相應(yīng)的代碼,基本的應(yīng)用格式如下。

    if (<條件1>) {
        <語句塊1>
    }else if (<條件2>) {
        <語句塊2>
    } else {
        <語句塊n>
    }

此語句結(jié)構(gòu)中,如果<條件1>成立執(zhí)行<語句塊1>;如果<條件2>成立執(zhí)行<語句塊2>;如果所有條件不成立,則執(zhí)行<語句塊n>。執(zhí)行流程如圖5-1所示。

圖5-1 if語句的執(zhí)行流程

使用if語句時(shí),至少需要指定一個(gè)條件,也就是if()中的條件。else if及相應(yīng)的語句塊可以有多個(gè),也可以沒有。而else語句可以有零個(gè)或一個(gè),使用時(shí)應(yīng)放在所有else if語句結(jié)構(gòu)的后面。

下面的代碼會根據(jù)分?jǐn)?shù)顯示成績的等級。

代碼中,當(dāng)points小于60時(shí)顯示“不及格”;當(dāng)points大于等于60且小于80時(shí)顯示“良”;當(dāng)points大于等于80且小于90時(shí)顯示“好”;最后,當(dāng)points大于等于90時(shí)顯示“優(yōu)”。測試中,可以修改points變量的值并觀察運(yùn)行結(jié)果,充分考慮代碼執(zhí)行的邏輯。

開發(fā)工作中,判斷條件的設(shè)定有時(shí)會比較復(fù)雜。如果有多個(gè)條件,還可使用邏輯運(yùn)算符來組合,例如,下面的代碼會判斷一個(gè)年份是否為閏年。

代碼中,當(dāng)if和else語句塊中只一條語句時(shí),可以省略{和}符號。下面再單獨(dú)看一下閏年的判斷條件。

    year % 400 == 0 || (year % 100 !=0 && year % 4 ==0)

這里,滿足閏年有以下兩種可能。

□ 當(dāng)年份能夠被400整除時(shí)為閏年,使用年份除以400的余數(shù)來判斷。

□ 當(dāng)年份不能被100整除但能夠被4整除時(shí)為閏年。

請注意,這里使用圓括號來設(shè)置運(yùn)算的順序。開發(fā)工作中,使用圓括號指定運(yùn)算的優(yōu)先級,可能要比運(yùn)算符默認(rèn)的優(yōu)先級可靠,為什么呢?原因很簡單,有多少開發(fā)人員能保證可以完全記住運(yùn)算符優(yōu)先級,而且永遠(yuǎn)不會犯錯誤呢?

使用if語句結(jié)構(gòu)時(shí),在極簡情況下,還可以不包含任何的else if和else語句,如下面的代碼所示。

接下來,如何顯示信息呢?可以借助?:運(yùn)算符,如下面的代碼所示。

Java中,?:運(yùn)算符的應(yīng)用格式如下。

    <表達(dá)式1> ? <表達(dá)式2> : <表達(dá)式3>

其中,<表達(dá)式1>的結(jié)果應(yīng)該是boolean類型的,其結(jié)果為true時(shí)返回<表達(dá)式2>的值,為false時(shí)返回<表達(dá)式3>的值。

主站蜘蛛池模板: 新乐市| 南靖县| 靖安县| 桐柏县| 巴彦淖尔市| 河东区| 松潘县| 阿勒泰市| 澄迈县| 万全县| 竹溪县| 江口县| 河西区| 黄大仙区| 吴川市| 贡嘎县| 绥德县| 新津县| 施秉县| 磴口县| 安福县| 昌乐县| 霍林郭勒市| 安塞县| 峨眉山市| 西畴县| 吴川市| 石楼县| 商南县| 泾阳县| 合阳县| 繁昌县| 苏尼特右旗| 嘉黎县| 宜章县| 斗六市| 浙江省| 静安区| 汉源县| 林甸县| 巴青县|