- JavaScript程序設計:基礎·PHP·XML
- (美)Elizabeth Drake
- 1193字
- 2020-10-30 18:12:37
3.3 二路選擇結構:if...else語句
有時候要編寫這樣的代碼,如果一件事情發生就執行它,如果不發生就不執行。例如,如果你正在創建一個游戲,可能想要玩家在積滿20分或更多分時就能獲得一份獎賞;如果分數不夠,就不發生什么事情,并且游戲繼續。然而,如同滿足條件一樣,你也經常希望如果條件不滿足時也要發生一些事情。在例3.1中,如果錄入的溫度不小于32,就不做任何事情。在這種情況下,如果用戶重復地單擊按鈕并且每次錄入從不小于32,那么每次都不發生任何事情,這樣將導致用戶可能認為程序沒有正常工作。為了避免這種情況,你可以增加如果測試條件不滿足時要執行的else子句。這種選擇結構的一般形式如下:
注意,在if子句和else子句中的多條語句都要用花括號括起。例3.3把第二個選項加入例3.2的代碼中,顯示當溫度是32°或更高時要顯示的信息。
例3.3 使用if...else結構 這個例子顯示一組當溫度小于32°時要執行的語句和另一組當溫度等于或大于32°時要執行的語句。
在這個例子中,如果用戶錄入小于32的溫度,那么顯示將與例3.2相同。
但是,如果用戶錄入32或者任何更大的數字,顯示將會如下圖所示。
例3.4使用if...else結構,并且包括不管條件是否滿足最后都要執行的語句。
例3.4 額外加分 這個例子將顯示學生的考試成績。考試有21道題,基本分數基于前20道題,每答對一題給5分。最后一題是加分題,分值是6~10分。另一種加分方式是學生在考試時上交了與考試相關的學習指南,就加5分。首先,教師將會錄入學生的基本考試得分,然后錄入額外加分。程序將計算并且顯示學生的最后考試成績。
這個例子說明了以下幾件事情:
·第7和12行使用函數parseInt()保證將教師的錄入處理為數字。
·沒有使用花括號括起if子句和else子句中的語句,因為這兩個子句都只包含一條語句。可以添加花括號,但是這里不是必需的。
·因為每個子句只包含一條可執行語句,所以不管執行哪個子句,總是要執行第13和14行。
如果你錄入這些代碼,最初的頁面看起來像這樣:
如果一個學生得到基本考試分數的83%,并且從第21題獲得8分,那么輸出將會看起來像這樣:
如果一個學生得到基本考試分數的83%,沒有回答第21題,但提交了學習指南,那么輸出將會看起來像這樣:
如果一個學生得到基本考試分數的83%,沒有回答第21題,也沒有提交學習指南,那么輸出將會看起來像這樣:
然而,如果一個學生既回答了第21題又提交了學習指南,那會怎么樣呢?我們將在本章后面討論復合條件時處理這個問題。
3.3節檢查點
3.12 if和else子句什么時候需要花括號?
3.13 修改下列代碼片斷并且增加代碼,使得如果孩子太年輕而無法得到駕駛學習執照時,將顯示第二條信息。
3.14 編寫一個函數,讓用戶錄入兩個數,然后問用戶是否想要加或乘這兩個數。使用if...else結構加或乘這兩個數。如果用戶不想將這兩個數相加,程序將會將它們相乘。
3.15 為檢查點3.14的程序添加代碼,使用不在if...else結構中的一條語句顯示計算結果。再添加第二條語句,告知用戶這兩個數是什么以及是使用加運算還是乘運算(提示:使用第二種選擇結構)。
- Spring 5.0 Microservices(Second Edition)
- Java程序設計與開發
- 一步一步學Spring Boot 2:微服務項目實戰
- Oracle從新手到高手
- C# Programming Cookbook
- 算法訓練營:入門篇(全彩版)
- 從程序員到架構師:大數據量、緩存、高并發、微服務、多團隊協同等核心場景實戰
- Learn Scala Programming
- Building a Quadcopter with Arduino
- 青少年信息學競賽
- Terraform:多云、混合云環境下實現基礎設施即代碼(第2版)
- Lighttpd源碼分析
- HTML5+CSS3+jQuery Mobile APP與移動網站設計從入門到精通
- Python計算機視覺和自然語言處理
- Unity 2017 Game AI Programming(Third Edition)