




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第4章章 程序流程控制語句程序流程控制語句41結(jié)構(gòu)化程序的結(jié)構(gòu)化程序的3種結(jié)構(gòu)種結(jié)構(gòu)42選擇語句選擇語句43循環(huán)語句循環(huán)語句44循環(huán)跳離語句循環(huán)跳離語句本章要點(diǎn):本章要點(diǎn):n了解結(jié)構(gòu)化程序的三種結(jié)構(gòu)n掌握if語句與switch語句的用法n掌握while與do-while的用法和區(qū)別n能夠用for語句實(shí)現(xiàn)循環(huán)應(yīng)用n理解break語句與continue語句的區(qū)別和使用4.1 結(jié)構(gòu)化程序的三種結(jié)構(gòu)結(jié)構(gòu)化程序的三種結(jié)構(gòu) n結(jié)構(gòu)化的程序通過三種結(jié)構(gòu)可以解決:q順序結(jié)構(gòu)(Sequence Structure)q選擇結(jié)構(gòu)(Selection Structure):if-else, switchq循環(huán)結(jié)構(gòu)(
2、Iteration Structure):while, do-while, for順序結(jié)構(gòu) n順序結(jié)構(gòu)中,語句的執(zhí)行順序是按照程序語句書寫的順序,從上到下依次執(zhí)行。 選擇結(jié)構(gòu)n選擇結(jié)構(gòu)是指下一步執(zhí)行語句有多個(gè)選擇分支,程序執(zhí)行流程根據(jù)當(dāng)前的狀態(tài),選擇其中一個(gè)分支執(zhí)行。循環(huán)結(jié)構(gòu)n循環(huán)結(jié)構(gòu)是指如果滿足一定條件,則反復(fù)執(zhí)行一段程序,直到條件不再滿足為止。 n條件語句 if-elseif語句一般采取以下形式:if(p) Aelse B生活中使用生活中使用if判斷的實(shí)例?判斷的實(shí)例?If (分?jǐn)?shù)是分?jǐn)?shù)是100)Then考得太好了考得太好了Elseif(分?jǐn)?shù)高于分?jǐn)?shù)高于85)then不錯(cuò)不錯(cuò)Elseif(
3、分?jǐn)?shù)高于分?jǐn)?shù)高于60)then繼續(xù)努力繼續(xù)努力Else不及格不及格End if4.2 選擇語句選擇語句 n 布爾表達(dá)式p是任意一個(gè)返回布爾數(shù)據(jù)類型的表達(dá)式,而且必須是(比C或C +要嚴(yán)格)。n 與C或C+一樣,每個(gè)單一語句后面都要有分號。為了增強(qiáng)程序的可讀性,應(yīng)將if或else后的語句用括起來。n else子句是任選的,不能單獨(dú)作為語句使用,它必須和if語句配對使用,并且總是與離它最近的if配對。int i1 = 123;int i2 = 456;if( i1i2 ) System.out.println(“The bigger one is: ”+i1);else System.out.pr
4、intln(“The bigger one is: ”+i2);4.2 選擇語句選擇語句 如果if語句中的語句A或B也是一個(gè)if語句,該語句稱為嵌套條件語句。 nif(i 0) if(j5) y = 1; else y = -1;4.2 選擇語句選擇語句 n 多分支語句 switchswitch (expression)case value1 : statements1; break;case valueN : statementsN; break;default : defaultStatements; 4.2 選擇語句選擇語句 n表達(dá)式expression的返回值類型必須是這幾種類型之一:
5、int、byte、char、short。ncase子句中的值valueI必須是常量,而且所有case子句中的值應(yīng)是不同的。ndefault子句是任選的。nbreak語句用來在執(zhí)行完一個(gè)case分支后,使程序跳出switch語句,即終止switch語句的執(zhí)行。如果某個(gè)case分支后沒有break語句,程序?qū)⒉辉僮霰容^而執(zhí)行下一個(gè)分支。4.2 選擇語句選擇語句 int a = 100;int b = 20;int c; char oper = +;switch(oper)case +: c = a b; break;case -: c = a - b; break;default : c = a
6、* b; break;4.2 選擇語句選擇語句 問題:1.程序中程序中switch語句中變量語句中變量value是什么類型?是什么類型?可以是可以是float類型嗎?可以是類型嗎?可以是char類型嗎?類型嗎?2.程序中程序中break語句的作用是什么?語句的作用是什么?3.程序中程序中default的作用是什么?的作用是什么?4.switch語句與語句與if-else if-else語句相比較,有語句相比較,有何優(yōu)勢?何優(yōu)勢?4.2 選擇語句選擇語句 編一程序產(chǎn)生編一程序產(chǎn)生3個(gè)個(gè)20以內(nèi)的隨機(jī)數(shù)作為三角形的三條邊,以內(nèi)的隨機(jī)數(shù)作為三角形的三條邊,檢驗(yàn)是否構(gòu)成三角形,若可以,輸出三條邊的長度
7、,檢驗(yàn)是否構(gòu)成三角形,若可以,輸出三條邊的長度,計(jì)算其面積并輸出。計(jì)算其面積并輸出。提示:提示:1、a,b,c是三角形的三條邊,則任意兩邊的和大于第三邊。是三角形的三條邊,則任意兩邊的和大于第三邊。(或任意兩邊的差小于第三邊)。(或任意兩邊的差小于第三邊)。 面積面積=Math.sqrt(s*(s-a)*(s-b)*s-c),其中其中 s=1/2(a+b+c)2、產(chǎn)生一個(gè)、產(chǎn)生一個(gè)x1,x2內(nèi)的隨機(jī)整數(shù)內(nèi)的隨機(jī)整數(shù)x x=(int)(Math.random()*(x2-x1+1)+x1) Math.random()產(chǎn)生一個(gè)產(chǎn)生一個(gè)0,1)區(qū)間內(nèi)的實(shí)數(shù)。區(qū)間內(nèi)的實(shí)數(shù)。4.2 選擇語句選擇語句 J
8、ava循環(huán)語句 Java跳轉(zhuǎn)語句4.3 循環(huán)語句循環(huán)語句 引入問題編一程序求1-100的和并輸出。1 如何實(shí)現(xiàn)?2 用循環(huán)語句實(shí)現(xiàn)3 寫出C語言的實(shí)現(xiàn)代碼4 C 循環(huán)語句由哪幾個(gè)部分組成?Java循環(huán)語句循環(huán)語句 和和C語言一樣,語言一樣,Java的循環(huán)語的循環(huán)語句也有句也有三種形式三種形式,它們是:,它們是:nwhile 循環(huán)語句循環(huán)語句nfor 循環(huán)語句循環(huán)語句ndowhile循環(huán)語句。循環(huán)語句。 其中while和for循環(huán)語句對應(yīng)當(dāng)型結(jié)構(gòu)(圖1),dowhile語句對應(yīng)直到型結(jié)構(gòu)(圖2)。 圖1當(dāng)型結(jié)構(gòu)圖2直到型結(jié)構(gòu)JavaJava循環(huán)語句的組成部分循環(huán)語句的組成部分循環(huán)語句由四個(gè)部分組
9、成:循環(huán)語句由四個(gè)部分組成:n初始化部分(初始化部分(initialization)initialization)n循環(huán)條件部分循環(huán)條件部分(loop-condition)(loop-condition)n循環(huán)體部分循環(huán)體部分(body)(body)n迭代部分迭代部分(iteration)(iteration)1-100求和的Java實(shí)現(xiàn)1 使用while語句int count=1;int sum=0;while(count=100) sum+=count; count+;3 使用dowhile語句int count=1;int sum=0;do sum+=count; count+; whi
10、le(count=100);2 使用for語句int sum=0,count;for(int count=0;count=100;count+) sum+=count; 找出三種找出三種語句形式中的語句形式中的四個(gè)組成部分四個(gè)組成部分?比較三種循比較三種循環(huán)語句的差異環(huán)語句的差異上機(jī)驗(yàn)證上機(jī)驗(yàn)證三段代碼三段代碼比較三種循環(huán)語句比較三種循環(huán)語句nwhile語句、語句、for語句是當(dāng)型循環(huán)結(jié)構(gòu)。它們的語句是當(dāng)型循環(huán)結(jié)構(gòu)。它們的含義是當(dāng)循環(huán)條件滿足時(shí),執(zhí)行循環(huán)體。當(dāng)循含義是當(dāng)循環(huán)條件滿足時(shí),執(zhí)行循環(huán)體。當(dāng)循環(huán)條件不滿足時(shí)終止循環(huán)。環(huán)條件不滿足時(shí)終止循環(huán)。若循環(huán)初始條件不若循環(huán)初始條件不滿足,則循環(huán)體
11、一次都不被執(zhí)行。滿足,則循環(huán)體一次都不被執(zhí)行。ndowhile語句是直到型循環(huán)結(jié)構(gòu),它的含義語句是直到型循環(huán)結(jié)構(gòu),它的含義是執(zhí)行循環(huán)體,直到循環(huán)條件不滿足時(shí)結(jié)束循是執(zhí)行循環(huán)體,直到循環(huán)條件不滿足時(shí)結(jié)束循環(huán)。環(huán)。無論循環(huán)條件是否滿足,循環(huán)體都會被執(zhí)無論循環(huán)條件是否滿足,循環(huán)體都會被執(zhí)行一次行一次。編程實(shí)踐n編程求出1-100之間所有偶數(shù)的和。循環(huán)語句的嵌套使用 有時(shí)候,為了解決較有時(shí)候,為了解決較為復(fù)雜的問題,循為復(fù)雜的問題,循環(huán)語句的循環(huán)體也環(huán)語句的循環(huán)體也需要用循環(huán)語句,需要用循環(huán)語句,這種用法就是循環(huán)這種用法就是循環(huán)語句的嵌套使用。語句的嵌套使用。 問題:求1!+2!+3!+10!int
12、i,j;long fact=1,sum=0;for(i=1;i=10;i+)/外層循環(huán) for(j=1;j=i;j+)/內(nèi)層循環(huán) fact*=j; sum+=fact;/累加 fact=1; /清除上一次循環(huán)結(jié)果, /為下次循環(huán)作好準(zhǔn)備 內(nèi)層循環(huán)的作用是什內(nèi)層循環(huán)的作用是什么?內(nèi)層循環(huán)的循環(huán)么?內(nèi)層循環(huán)的循環(huán)條件和外層循環(huán)有何條件和外層循環(huán)有何關(guān)系?關(guān)系?請上機(jī)調(diào)試!請上機(jī)調(diào)試!編程實(shí)踐n編一程序打印九九乘法表。運(yùn)行結(jié)果如下:n標(biāo)號語句labelnbreak語句ncontinue語句nreturn語句C語言有那些跳轉(zhuǎn)語句?4.4 循環(huán)跳離語句循環(huán)跳離語句 標(biāo)號語句lable 在在Java中中,
13、標(biāo)號是一個(gè)標(biāo)識符,用于給某程序塊一標(biāo)號是一個(gè)標(biāo)識符,用于給某程序塊一個(gè)名字。格式如下:個(gè)名字。格式如下: label: 通常與通常與break、continue語句一起使用,實(shí)現(xiàn)程語句一起使用,實(shí)現(xiàn)程序的跳轉(zhuǎn)。序的跳轉(zhuǎn)。break語句break語句的作用是終止包含語句的作用是終止包含break語句的程序塊,其語法格語句的程序塊,其語法格式為:式為: break label; break語句有兩種用法:語句有兩種用法:(1)不帶標(biāo)號的)不帶標(biāo)號的break語句。語句??捎迷诳捎迷趕witch、while、for和和do-while循環(huán)語句中,用來終止開關(guān)語句和循環(huán)語句。循環(huán)語句中,用來終止開關(guān)語
14、句和循環(huán)語句。(2)帶標(biāo)號的)帶標(biāo)號的break語句。語句。用在多重循環(huán)語句中,用在多重循環(huán)語句中,跳出標(biāo)號跳出標(biāo)號所指定的塊,并從緊跟該塊后的第一條語句處執(zhí)行。所指定的塊,并從緊跟該塊后的第一條語句處執(zhí)行。 break BlockLabel;與C語言有何不同?a: /標(biāo)記代碼塊標(biāo)記代碼塊a b:/標(biāo)記代碼塊標(biāo)記代碼塊b c: /標(biāo)記代碼塊標(biāo)記代碼塊c break b; /這段語句將不執(zhí)行這段語句將不執(zhí)行 /代碼塊代碼塊c結(jié)束結(jié)束 /這段語句也不執(zhí)行這段語句也不執(zhí)行 /代碼塊代碼塊b結(jié)束結(jié)束 /從這段語句開始執(zhí)行從這段語句開始執(zhí)行 /代碼塊代碼塊a結(jié)束結(jié)束Java控制語句控制語句Continu
15、e語句: continue語句只能用在循環(huán)中,它的作用是終止本次語句只能用在循環(huán)中,它的作用是終止本次循環(huán),執(zhí)行下一次循環(huán)。語法格式如下:循環(huán),執(zhí)行下一次循環(huán)。語法格式如下: continue label; continue語句有帶標(biāo)號和不帶標(biāo)號兩種形式。語句有帶標(biāo)號和不帶標(biāo)號兩種形式。 (1)不帶標(biāo)號的不帶標(biāo)號的continue語句語句用來結(jié)束本次循環(huán),跳過用來結(jié)束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進(jìn)行終止條件的循環(huán)體中下面尚未執(zhí)行的語句,接著進(jìn)行終止條件的判斷,以決定是否繼續(xù)循環(huán)。判斷,以決定是否繼續(xù)循環(huán)。 (2)帶標(biāo)號的帶標(biāo)號的continue語句語句,可以用可以用conti
16、nue跳轉(zhuǎn)到標(biāo)跳轉(zhuǎn)到標(biāo)號指明的循環(huán)中,這時(shí)的格式為號指明的循環(huán)中,這時(shí)的格式為continue outerLable;與C語言有何不同?outer: for( int i=0; i10; i+ ) /外層循環(huán)外層循環(huán) inner: for( int j=0; j10; j+ ) /內(nèi)層循環(huán)內(nèi)層循環(huán) if( ij ) continue outer; /內(nèi)層循環(huán)結(jié)束內(nèi)層循環(huán)結(jié)束 /外層循環(huán)結(jié)束外層循環(huán)結(jié)束for( int i= 0; i 10; i+ ) if( i = 5 )continue; System.out.print(i);Java控制語句控制語句return語句 return語句的功
17、能是從當(dāng)前方法中退出,并返回語句的功能是從當(dāng)前方法中退出,并返回到調(diào)用該方法的語句處繼續(xù)執(zhí)行程序,同時(shí)將方到調(diào)用該方法的語句處繼續(xù)執(zhí)行程序,同時(shí)將方法中的運(yùn)行結(jié)果也帶回到調(diào)用方法中。它的語法法中的運(yùn)行結(jié)果也帶回到調(diào)用方法中。它的語法格式如下:格式如下: return expression; 或 return (expression); 其中其中expression為方法運(yùn)行的結(jié)果,要返回到調(diào)為方法運(yùn)行的結(jié)果,要返回到調(diào)用方法中的。注意,如果一個(gè)方法的返回值類型用方法中的。注意,如果一個(gè)方法的返回值類型定義為定義為void,則方法體中不一定要有,則方法體中不一定要有return語句,語句,方法執(zhí)
18、行完后,自動返回到調(diào)用處。方法執(zhí)行完后,自動返回到調(diào)用處。n單獨(dú)一條單獨(dú)一條return語句放在方法中間時(shí),會產(chǎn)生語句放在方法中間時(shí),會產(chǎn)生編譯錯(cuò)誤編譯錯(cuò)誤,因?yàn)槠浜蟮恼Z句將不會執(zhí)行到。因?yàn)槠浜蟮恼Z句將不會執(zhí)行到。n若真需要退出方法,可以將若真需要退出方法,可以將return語句嵌入轉(zhuǎn)語句嵌入轉(zhuǎn)移語句(如移語句(如if-else)中實(shí)現(xiàn)。)中實(shí)現(xiàn)。注意注意!Java跳轉(zhuǎn)語句與跳轉(zhuǎn)語句與C語言跳轉(zhuǎn)語句區(qū)別語言跳轉(zhuǎn)語句區(qū)別nJava有帶標(biāo)號的break和continue語句。C沒有。nJava沒有g(shù)oto語句,C有。nJava和C的return語句一樣。課堂練習(xí)課堂練習(xí)閱讀分析程序,寫出其輸出結(jié)果int i,j; one: for(i=1;i=10;i+) System.o
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣西理工職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試題庫必考題
- 船舶油污損害民事責(zé)任主體研究報(bào)告
- 2025年單位小型車輛租賃合同示范文本
- 2025年員工保密合同協(xié)議書樣本
- 2025年體育場館照明安裝合同
- 農(nóng)膜材料性能評估-深度研究
- 活動策劃案例分析-深度研究
- 2025年醫(yī)療機(jī)構(gòu)感染控制服務(wù)合同
- 2025年住宅預(yù)售合同策劃標(biāo)準(zhǔn)文檔
- 2025年店鋪協(xié)作經(jīng)營合同協(xié)議范本
- 2023年江蘇省蘇州市吳江區(qū)中考一模數(shù)學(xué)試題
- 經(jīng)顱磁刺激技術(shù)操作指南
- 房地產(chǎn)市場報(bào)告 -【年報(bào)】2023年全國總結(jié)與展望-易居克而瑞
- 智能制造概論 課件全套 第1-6章 智能制造的發(fā)展歷程- 智能制造的應(yīng)用
- 中國旅游地理(高職)全套教學(xué)課件
- 護(hù)理安全警示案例及分析
- 客戶分析數(shù)據(jù)分析報(bào)告
- 學(xué)校管理與小學(xué)教學(xué)質(zhì)量提升方案
- 燃?xì)庠畹臓I銷方案和策略
- 核心素養(yǎng)背景下小學(xué)科學(xué)“教-學(xué)-評”一體化探究
- 學(xué)習(xí)委員培訓(xùn)課件
評論
0/150
提交評論