版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章選擇結(jié)構(gòu)程序設(shè)計(jì)Java程序設(shè)計(jì)2學(xué)習(xí)目標(biāo)本章介紹選擇結(jié)構(gòu)的程序設(shè)計(jì)方法及Java語(yǔ)言提供實(shí)現(xiàn)選擇結(jié)構(gòu)if語(yǔ)句和switch語(yǔ)句的語(yǔ)法及使用方法。順序結(jié)構(gòu)的各語(yǔ)句按照在程序中的排列順序自上而下依次執(zhí)行,執(zhí)行完一條語(yǔ)句自動(dòng)執(zhí)行下一條語(yǔ)句,這是最簡(jiǎn)單的程序結(jié)構(gòu)。實(shí)際程序設(shè)計(jì)過(guò)程中,更多的情況是需要根據(jù)某個(gè)條件是否成立決定某些語(yǔ)句能否執(zhí)行,或者從給定的兩種或多種語(yǔ)句中選擇其一來(lái)執(zhí)行,這是選擇結(jié)構(gòu)程序設(shè)計(jì)解決的問(wèn)題。3.1語(yǔ)句塊語(yǔ)句塊又稱復(fù)合語(yǔ)句,是指用一對(duì)大括號(hào){}將若干條語(yǔ)句括起來(lái),目的是將多條語(yǔ)句合并為一個(gè)整體,形成邏輯上的一條語(yǔ)句。{a=b-a;b=b-a;a=b+a;}3.2選擇結(jié)構(gòu)和條件判斷Java語(yǔ)言使用關(guān)系表達(dá)式和邏輯表達(dá)式描述條件。一般來(lái)說(shuō),關(guān)系表達(dá)式用來(lái)表示較簡(jiǎn)單的條件,而邏輯表達(dá)式用來(lái)表示較復(fù)雜的條件。兩種表達(dá)式的值均為boolean類型,值為true表示條件成立,false表示條件不成立。3.2選擇結(jié)構(gòu)和條件判斷如果考試不及格,需要參加補(bǔ)考。如果年齡超過(guò)60歲,則可以免費(fèi)乘坐地鐵。如果某字符變量ch中存放大寫(xiě)字母,則轉(zhuǎn)換為小寫(xiě)字母。判斷例2-3中輸入的三角形的三個(gè)邊長(zhǎng)a、b、c能否構(gòu)成一個(gè)三角形。判斷整型變量year的值是否是閏年。3.3if語(yǔ)句Java語(yǔ)言使用if語(yǔ)句實(shí)現(xiàn)根據(jù)判斷條件進(jìn)行選擇的控制結(jié)構(gòu),主要有三種單分支選擇結(jié)構(gòu)、雙分支選擇結(jié)構(gòu)和if語(yǔ)句的嵌套三種使用形式。3.3.1單分支if語(yǔ)句語(yǔ)法格式:if(判斷條件)
語(yǔ)句在if語(yǔ)句中,關(guān)鍵字if后面()中的判斷條件必須是布爾類型的表達(dá)式,即必須是關(guān)系表達(dá)式或邏輯表達(dá)式,緊跟著if()的一條語(yǔ)句稱為“真”分支。如果判斷條件的結(jié)果為true時(shí),則執(zhí)行真分支,然后if語(yǔ)句執(zhí)行完成,繼續(xù)執(zhí)行if語(yǔ)句的后續(xù)語(yǔ)句;如果判斷條件結(jié)果為false,則if語(yǔ)句直接完成,繼續(xù)執(zhí)行if語(yǔ)句的后續(xù)語(yǔ)句。3.3.1單分支if語(yǔ)句“真”分支只能有一條語(yǔ)句,當(dāng)其功能復(fù)雜需要多條語(yǔ)句才能完成時(shí),要使用語(yǔ)句塊作為“真”分支。建議:無(wú)論“真”分支有一條或多條語(yǔ)句,均寫(xiě)成語(yǔ)句塊的形式,可以提高程序可讀性,減少出錯(cuò)的機(jī)率。例3-1:求整數(shù)的絕對(duì)值。要求從鍵盤輸入一個(gè)整數(shù),計(jì)算并輸出它的絕對(duì)值。例3-2:兩個(gè)整數(shù)的排序。從鍵盤輸入兩個(gè)整數(shù)a和b,按值從大到小的順序輸出。例3-3:三個(gè)整數(shù)的排序。輸入三個(gè)整數(shù)a、b和c,按值從大到小的順序輸出。3.3.2雙分支if語(yǔ)句if語(yǔ)句的雙分支結(jié)構(gòu)稱為if-else語(yǔ)句,它可以根據(jù)一個(gè)判斷條件的兩種不同的結(jié)果true或false來(lái)指定不同的語(yǔ)句執(zhí)行。其語(yǔ)法格式如下:if(判斷條件)
語(yǔ)句1else
語(yǔ)句2其中語(yǔ)句1是在判斷條件為true時(shí)執(zhí)行,稱為“真”分支;語(yǔ)句2是在判斷條件為false時(shí)執(zhí)行,稱為“假”分支。在雙分支if語(yǔ)句的一次執(zhí)行過(guò)程中,“真”和“假”兩個(gè)分支必然有且只有一個(gè)分支執(zhí)行。與單分支if語(yǔ)句一樣,語(yǔ)句1和語(yǔ)句2只能寫(xiě)一條語(yǔ)句,需要多條語(yǔ)句時(shí)使用語(yǔ)句塊。3.3.2雙分支if語(yǔ)句例3-4:判斷整數(shù)的奇偶性。輸入一個(gè)整數(shù)x,根據(jù)其奇偶性輸出x是奇數(shù)或x是偶數(shù)。例3-5:改進(jìn)例2-3中三角形面積計(jì)算程序。要求當(dāng)輸入的三個(gè)邊長(zhǎng)能夠構(gòu)成三角形時(shí)計(jì)算三角形面積,否則輸出“輸入的三個(gè)邊長(zhǎng)無(wú)法構(gòu)成三角形”。3.3.3if語(yǔ)句的嵌套if或if-else語(yǔ)句的分支中可以是任意合法Java語(yǔ)句,當(dāng)然也可以是其它if或if-else語(yǔ)句。這種在if或if-else的某個(gè)分支中嵌入其它if或if-else語(yǔ)句的形式稱為if語(yǔ)句的嵌套。嵌入的if或if-else語(yǔ)句稱為內(nèi)層if語(yǔ)句,并且在內(nèi)層if語(yǔ)句中還可以繼續(xù)嵌入if或if-else語(yǔ)句,而且嵌套的層數(shù)是沒(méi)有限制,稱為多層嵌套。3.3.3if語(yǔ)句的嵌套1.在if-else語(yǔ)句的else分支嵌套多層if語(yǔ)句if(判斷條件1)語(yǔ)句1elseif(判斷條件2)語(yǔ)句2elseif(判斷條件3)語(yǔ)句3……elseif(判斷條件n)語(yǔ)句nelse語(yǔ)句n+1說(shuō)明:判斷條件1為true時(shí),執(zhí)行語(yǔ)句1;判斷條件1為false,判斷條件2為true時(shí)執(zhí)行語(yǔ)句2;依次類推,所有判斷條件均為false時(shí),執(zhí)行語(yǔ)句n+1。任何一個(gè)語(yǔ)句分支執(zhí)行完成后,整個(gè)嵌套的if語(yǔ)句執(zhí)行結(jié)束。3.3.3if語(yǔ)句的嵌套2.更加靈活的嵌套方式if(判斷條件1)if(判斷條件2)
語(yǔ)句1else
語(yǔ)句2elseif(判斷條件3)
語(yǔ)句3else
語(yǔ)句43.3.3if語(yǔ)句的嵌套3.if語(yǔ)句嵌套時(shí)else與if的匹配原則Java語(yǔ)言規(guī)定,else總是與其前面離其最近的同一語(yǔ)句塊中的尚未匹配過(guò)的if進(jìn)行匹配。例3-6:根據(jù)下面數(shù)學(xué)函數(shù),編寫(xiě)程序輸入x,計(jì)算并輸出y的值。3.4switch語(yǔ)句Java語(yǔ)言提供了switch語(yǔ)句來(lái)處理多分支選擇。switch語(yǔ)句的語(yǔ)法形式如下:switch(switch-表達(dá)式){case常量1:語(yǔ)句或語(yǔ)句組1;break;case常量2:語(yǔ)句或語(yǔ)句組2;break;……case常量n:語(yǔ)句或語(yǔ)句組n;break;default:語(yǔ)句n+1;}3.4switch語(yǔ)句switch語(yǔ)句的使用和執(zhí)行遵循以下規(guī)則:(1)關(guān)鍵字switch后面括號(hào)中“switch-表達(dá)式”計(jì)算結(jié)果的類型必須是:char、byte、short或int類型。(2)每個(gè)關(guān)鍵字case定義了一個(gè)分支,case后面的常量的數(shù)據(jù)類型必須與“switch-表達(dá)式”的類型相同。不允許兩個(gè)分支的常量值相同。(3)switch語(yǔ)句的執(zhí)行流程:首先計(jì)算“switch-表達(dá)式”值,然后從第1個(gè)case分支開(kāi)始自上而下的將該值與case后面常量進(jìn)行比較,如果找到某個(gè)分支的常量與該值相同,則從該分支的第1條語(yǔ)句開(kāi)始執(zhí)行,直到碰到break語(yǔ)句或執(zhí)行到switch語(yǔ)句的末尾。(4)break語(yǔ)句是可選的,其作用是立即終止switch語(yǔ)句。(5)default分支是可行的,“switch-表達(dá)式”的值與所有case分支的常量均不相同時(shí),default后面的語(yǔ)句會(huì)被執(zhí)行。3.4switch語(yǔ)句例3-7:根據(jù)考試成績(jī)確定成績(jī)的等級(jí)。輸入一個(gè)考試成績(jī),合法的考試成績(jī)應(yīng)該是0到100的整數(shù)。如果成績(jī)?cè)?0分以上,考試等級(jí)為“優(yōu)秀”;如果成績(jī)?cè)?0分至89分,考試等級(jí)為“良好”;如果成績(jī)?cè)?0分至79分,考試等級(jí)為“中等”;如果成績(jī)?cè)?0分至69分,考試等級(jí)為“及格”;如果成績(jī)小于60分,考試等級(jí)為“不及格”。輸入不合法的成績(jī)則輸出“輸入的成績(jī)不合法”。3.5選擇結(jié)構(gòu)程序舉例例3-8:求一元二次方程ax2+bx+c=0的所有解。例3-9:判斷指定的年月有幾天。輸入年號(hào)和月份兩個(gè)整數(shù),使用switch和if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)計(jì)算該月有多少天。例3-10:編寫(xiě)一個(gè)猜數(shù)字游戲。用戶想好一個(gè)0到9之間的數(shù)字,然后回答程序2個(gè)問(wèn)題,程序嘗試猜中這個(gè)數(shù)字。課后工作復(fù)習(xí)本章內(nèi)容編寫(xiě)程序,輸入一個(gè)整數(shù),
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年太陽(yáng)能照明鐵藝護(hù)欄一體化合同3篇
- 2025年度工業(yè)廢棄物煤矸石回收處理合同4篇
- 2025年度城市地下管線測(cè)繪與探測(cè)合同4篇
- 2025公共資源交易電子服務(wù)系統(tǒng)平臺(tái)訪問(wèn)控制合同3篇
- 2025年收養(yǎng)協(xié)議范本:法律風(fēng)險(xiǎn)防范900字3篇
- 2025年度新型龍門吊設(shè)備采購(gòu)及安裝服務(wù)合同4篇
- 二零二五年度鋁扣板光伏發(fā)電站建設(shè)施工合同4篇
- 二零二五年度石場(chǎng)生產(chǎn)線承包合同示范范本3篇
- 2025年樹(shù)林撫育與綜合利用承包合同范本2篇
- 2025年度兒童毛毯安全標(biāo)準(zhǔn)認(rèn)證采購(gòu)合同4篇
- 人教版八年級(jí)下冊(cè)第一單元英語(yǔ)Unit1 單元設(shè)計(jì)
- PEP小學(xué)六年級(jí)英語(yǔ)上冊(cè)選詞填空專題訓(xùn)練
- 古建筑修繕項(xiàng)目施工規(guī)程(試行)
- GA 844-2018防砸透明材料
- 化學(xué)元素周期表記憶與讀音 元素周期表口訣順口溜
- 非人力資源經(jīng)理的人力資源管理培訓(xùn)(新版)課件
- MSDS物質(zhì)安全技術(shù)資料-201膠水
- 鉬氧化物還原過(guò)程中的物相轉(zhuǎn)變規(guī)律及其動(dòng)力學(xué)機(jī)理研究
- (完整word)2019注冊(cè)消防工程師繼續(xù)教育三科試習(xí)題及答案
- 《調(diào)試件現(xiàn)場(chǎng)管理制度》
- 社區(qū)治理現(xiàn)代化課件
評(píng)論
0/150
提交評(píng)論