- Java與Android移動應(yīng)用開發(fā):技術(shù)、方法與實(shí)踐
- 曹化宇
- 717字
- 2019-12-06 15:39:15
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>的值。
- Clojure Programming Cookbook
- 計(jì)算機(jī)圖形學(xué)編程(使用OpenGL和C++)(第2版)
- JMeter 性能測試實(shí)戰(zhàn)(第2版)
- NLTK基礎(chǔ)教程:用NLTK和Python庫構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用
- NativeScript for Angular Mobile Development
- 深入淺出Android Jetpack
- Data Analysis with Stata
- MySQL數(shù)據(jù)庫管理與開發(fā)實(shí)踐教程 (清華電腦學(xué)堂)
- Haskell Data Analysis Cookbook
- 編程菜鳥學(xué)Python數(shù)據(jù)分析
- Python極簡講義:一本書入門數(shù)據(jù)分析與機(jī)器學(xué)習(xí)
- 持續(xù)輕量級Java EE開發(fā):編寫可測試的代碼
- Java高并發(fā)核心編程(卷1):NIO、Netty、Redis、ZooKeeper
- Visual Basic程序設(shè)計(jì)(第三版)
- 軟件體系結(jié)構(gòu)