




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章選擇結構程序設計Java程序設計2學習目標本章介紹選擇結構的程序設計方法及Java語言提供實現選擇結構if語句和switch語句的語法及使用方法。順序結構的各語句按照在程序中的排列順序自上而下依次執行,執行完一條語句自動執行下一條語句,這是最簡單的程序結構。實際程序設計過程中,更多的情況是需要根據某個條件是否成立決定某些語句能否執行,或者從給定的兩種或多種語句中選擇其一來執行,這是選擇結構程序設計解決的問題。3.1語句塊語句塊又稱復合語句,是指用一對大括號{}將若干條語句括起來,目的是將多條語句合并為一個整體,形成邏輯上的一條語句。{a=b-a;b=b-a;a=b+a;}3.2選擇結構和條件判斷Java語言使用關系表達式和邏輯表達式描述條件。一般來說,關系表達式用來表示較簡單的條件,而邏輯表達式用來表示較復雜的條件。兩種表達式的值均為boolean類型,值為true表示條件成立,false表示條件不成立。3.2選擇結構和條件判斷如果考試不及格,需要參加補考。如果年齡超過60歲,則可以免費乘坐地鐵。如果某字符變量ch中存放大寫字母,則轉換為小寫字母。判斷例2-3中輸入的三角形的三個邊長a、b、c能否構成一個三角形。判斷整型變量year的值是否是閏年。3.3if語句Java語言使用if語句實現根據判斷條件進行選擇的控制結構,主要有三種單分支選擇結構、雙分支選擇結構和if語句的嵌套三種使用形式。3.3.1單分支if語句語法格式:if(判斷條件)
語句在if語句中,關鍵字if后面()中的判斷條件必須是布爾類型的表達式,即必須是關系表達式或邏輯表達式,緊跟著if()的一條語句稱為“真”分支。如果判斷條件的結果為true時,則執行真分支,然后if語句執行完成,繼續執行if語句的后續語句;如果判斷條件結果為false,則if語句直接完成,繼續執行if語句的后續語句。3.3.1單分支if語句“真”分支只能有一條語句,當其功能復雜需要多條語句才能完成時,要使用語句塊作為“真”分支。建議:無論“真”分支有一條或多條語句,均寫成語句塊的形式,可以提高程序可讀性,減少出錯的機率。例3-1:求整數的絕對值。要求從鍵盤輸入一個整數,計算并輸出它的絕對值。例3-2:兩個整數的排序。從鍵盤輸入兩個整數a和b,按值從大到小的順序輸出。例3-3:三個整數的排序。輸入三個整數a、b和c,按值從大到小的順序輸出。3.3.2雙分支if語句if語句的雙分支結構稱為if-else語句,它可以根據一個判斷條件的兩種不同的結果true或false來指定不同的語句執行。其語法格式如下:if(判斷條件)
語句1else
語句2其中語句1是在判斷條件為true時執行,稱為“真”分支;語句2是在判斷條件為false時執行,稱為“假”分支。在雙分支if語句的一次執行過程中,“真”和“假”兩個分支必然有且只有一個分支執行。與單分支if語句一樣,語句1和語句2只能寫一條語句,需要多條語句時使用語句塊。3.3.2雙分支if語句例3-4:判斷整數的奇偶性。輸入一個整數x,根據其奇偶性輸出x是奇數或x是偶數。例3-5:改進例2-3中三角形面積計算程序。要求當輸入的三個邊長能夠構成三角形時計算三角形面積,否則輸出“輸入的三個邊長無法構成三角形”。3.3.3if語句的嵌套if或if-else語句的分支中可以是任意合法Java語句,當然也可以是其它if或if-else語句。這種在if或if-else的某個分支中嵌入其它if或if-else語句的形式稱為if語句的嵌套。嵌入的if或if-else語句稱為內層if語句,并且在內層if語句中還可以繼續嵌入if或if-else語句,而且嵌套的層數是沒有限制,稱為多層嵌套。3.3.3if語句的嵌套1.在if-else語句的else分支嵌套多層if語句if(判斷條件1)語句1elseif(判斷條件2)語句2elseif(判斷條件3)語句3……elseif(判斷條件n)語句nelse語句n+1說明:判斷條件1為true時,執行語句1;判斷條件1為false,判斷條件2為true時執行語句2;依次類推,所有判斷條件均為false時,執行語句n+1。任何一個語句分支執行完成后,整個嵌套的if語句執行結束。3.3.3if語句的嵌套2.更加靈活的嵌套方式if(判斷條件1)if(判斷條件2)
語句1else
語句2elseif(判斷條件3)
語句3else
語句43.3.3if語句的嵌套3.if語句嵌套時else與if的匹配原則Java語言規定,else總是與其前面離其最近的同一語句塊中的尚未匹配過的if進行匹配。例3-6:根據下面數學函數,編寫程序輸入x,計算并輸出y的值。3.4switch語句Java語言提供了switch語句來處理多分支選擇。switch語句的語法形式如下:switch(switch-表達式){case常量1:語句或語句組1;break;case常量2:語句或語句組2;break;……case常量n:語句或語句組n;break;default:語句n+1;}3.4switch語句switch語句的使用和執行遵循以下規則:(1)關鍵字switch后面括號中“switch-表達式”計算結果的類型必須是:char、byte、short或int類型。(2)每個關鍵字case定義了一個分支,case后面的常量的數據類型必須與“switch-表達式”的類型相同。不允許兩個分支的常量值相同。(3)switch語句的執行流程:首先計算“switch-表達式”值,然后從第1個case分支開始自上而下的將該值與case后面常量進行比較,如果找到某個分支的常量與該值相同,則從該分支的第1條語句開始執行,直到碰到break語句或執行到switch語句的末尾。(4)break語句是可選的,其作用是立即終止switch語句。(5)default分支是可行的,“switch-表達式”的值與所有case分支的常量均不相同時,default后面的語句會被執行。3.4switch語句例3-7:根據考試成績確定成績的等級。輸入一個考試成績,合法的考試成績應該是0到100的整數。如果成績在90分以上,考試等級為“優秀”;如果成績在80分至89分,考試等級為“良好”;如果成績在70分至79分,考試等級為“中等”;如果成績在60分至69分,考試等級為“及格”;如果成績小于60分,考試等級為“不及格”。輸入不合法的成績則輸出“輸入的成績不合法”。3.5選擇結構程序舉例例3-8:求一元二次方程ax2+bx+c=0的所有解。例3-9:判斷指定的年月有幾天。輸入年號和月份兩個整數,使用switch和if語句實現選擇結構計算該月有多少天。例3-10:編寫一個猜數字游戲。用戶想好一個0到9之間的數字,然后回答程序2個問題,程序嘗試猜中這個數字。課后工作復習本章內容編寫程序,輸入一個整數,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機電工程團隊合作精神測評及試題及答案
- 軟件設計師考試考前心態調整技巧試題及答案
- 軟件設計師考試應對技巧與試題及答案分享
- 網絡工程師職業發展需知的行業標準試題及答案
- 方法論在軟件開發中的應用與試題答案
- 機電工程師職業道德試題及答案
- 2024(CCTV PIS 廣播 通信)練習試題
- 安全員考核理論考試復習試題
- 檢修考題練習試題
- 英語b級考試試卷歷年真題及答案
- 行業調研報告:全球及中國琥珀聚糖行業研究及十四五規劃分析報告
- 高齡心房顫動患者抗凝治療中國專家共識(2024)解讀課件
- 講解員筆試試題及答案
- 學校校園膳食監督家長委員會履職承諾協議書
- 大竹縣竹中中考數學試卷
- 2024年山東省新高考地理試卷(含答案)
- 麻醉期間反流誤吸的預防與處理
- 結構膠灌注施工方案
- 《中醫體重管理臨床指南》
- 銀行業務專家競聘述職模板
- 電子商務案例分析
評論
0/150
提交評論