版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第4章章 程序流程控制語句程序流程控制語句41結構化程序的結構化程序的3種結構種結構42選擇語句選擇語句43循環(huán)語句循環(huán)語句44循環(huán)跳離語句循環(huán)跳離語句本章要點:本章要點:n了解結構化程序的三種結構n掌握if語句與switch語句的用法n掌握while與do-while的用法和區(qū)別n能夠用for語句實現(xiàn)循環(huán)應用n理解break語句與continue語句的區(qū)別和使用4.1 結構化程序的三種結構結構化程序的三種結構 n結構化的程序通過三種結構可以解決:q順序結構(Sequence Structure)q選擇結構(Selection Structure):if-else, switchq循環(huán)結構(
2、Iteration Structure):while, do-while, for順序結構 n順序結構中,語句的執(zhí)行順序是按照程序語句書寫的順序,從上到下依次執(zhí)行。 選擇結構n選擇結構是指下一步執(zhí)行語句有多個選擇分支,程序執(zhí)行流程根據(jù)當前的狀態(tài),選擇其中一個分支執(zhí)行。循環(huán)結構n循環(huán)結構是指如果滿足一定條件,則反復執(zhí)行一段程序,直到條件不再滿足為止。 n條件語句 if-elseif語句一般采取以下形式:if(p) Aelse B生活中使用生活中使用if判斷的實例?判斷的實例?If (分數(shù)是分數(shù)是100)Then考得太好了考得太好了Elseif(分數(shù)高于分數(shù)高于85)then不錯不錯Elseif(
3、分數(shù)高于分數(shù)高于60)then繼續(xù)努力繼續(xù)努力Else不及格不及格End if4.2 選擇語句選擇語句 n 布爾表達式p是任意一個返回布爾數(shù)據(jù)類型的表達式,而且必須是(比C或C +要嚴格)。n 與C或C+一樣,每個單一語句后面都要有分號。為了增強程序的可讀性,應將if或else后的語句用括起來。n else子句是任選的,不能單獨作為語句使用,它必須和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也是一個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表達式expression的返回值類型必須是這幾種類型之一:
5、int、byte、char、short。ncase子句中的值valueI必須是常量,而且所有case子句中的值應是不同的。ndefault子句是任選的。nbreak語句用來在執(zhí)行完一個case分支后,使程序跳出switch語句,即終止switch語句的執(zhí)行。如果某個case分支后沒有break語句,程序將不再做比較而執(zhí)行下一個分支。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 選擇語句選擇語句 編一程序產生編一程序產生3個個20以內的隨機數(shù)作為三角形的三條邊,以內的隨機數(shù)作為三角形的三條邊,檢驗是否構成三角形,若可以,輸出三條邊的長度
7、,檢驗是否構成三角形,若可以,輸出三條邊的長度,計算其面積并輸出。計算其面積并輸出。提示:提示:1、a,b,c是三角形的三條邊,則任意兩邊的和大于第三邊。是三角形的三條邊,則任意兩邊的和大于第三邊。(或任意兩邊的差小于第三邊)。(或任意兩邊的差小于第三邊)。 面積面積=Math.sqrt(s*(s-a)*(s-b)*s-c),其中其中 s=1/2(a+b+c)2、產生一個、產生一個x1,x2內的隨機整數(shù)內的隨機整數(shù)x x=(int)(Math.random()*(x2-x1+1)+x1) Math.random()產生一個產生一個0,1)區(qū)間內的實數(shù)。區(qū)間內的實數(shù)。4.2 選擇語句選擇語句 J
8、ava循環(huán)語句 Java跳轉語句4.3 循環(huán)語句循環(huán)語句 引入問題編一程序求1-100的和并輸出。1 如何實現(xiàn)?2 用循環(huán)語句實現(xiàn)3 寫出C語言的實現(xiàn)代碼4 C 循環(huán)語句由哪幾個部分組成?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)語句對應當型結構(圖1),dowhile語句對應直到型結構(圖2)。 圖1當型結構圖2直到型結構JavaJava循環(huán)語句的組成部分循環(huán)語句的組成部分循環(huán)語句由四個部分組
9、成:循環(huán)語句由四個部分組成: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實現(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; 找出三種找出三種語句形式中的語句形式中的四個組成部分四個組成部分?比較三種循比較三種循環(huán)語句的差異環(huán)語句的差異上機驗證上機驗證三段代碼三段代碼比較三種循環(huán)語句比較三種循環(huán)語句nwhile語句、語句、for語句是當型循環(huán)結構。它們的語句是當型循環(huán)結構。它們的含義是當循環(huán)條件滿足時,執(zhí)行循環(huán)體。當循含義是當循環(huán)條件滿足時,執(zhí)行循環(huán)體。當循環(huán)條件不滿足時終止循環(huán)。環(huán)條件不滿足時終止循環(huán)。若循環(huán)初始條件不若循環(huán)初始條件不滿足,則循環(huán)體
11、一次都不被執(zhí)行。滿足,則循環(huán)體一次都不被執(zhí)行。ndowhile語句是直到型循環(huán)結構,它的含義語句是直到型循環(huán)結構,它的含義是執(zhí)行循環(huán)體,直到循環(huán)條件不滿足時結束循是執(zhí)行循環(huán)體,直到循環(huán)條件不滿足時結束循環(huán)。環(huán)。無論循環(huán)條件是否滿足,循環(huán)體都會被執(zhí)無論循環(huán)條件是否滿足,循環(huán)體都會被執(zhí)行一次行一次。編程實踐n編程求出1-100之間所有偶數(shù)的和。循環(huán)語句的嵌套使用 有時候,為了解決較有時候,為了解決較為復雜的問題,循為復雜的問題,循環(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+)/內層循環(huán) fact*=j; sum+=fact;/累加 fact=1; /清除上一次循環(huán)結果, /為下次循環(huán)作好準備 內層循環(huán)的作用是什內層循環(huán)的作用是什么?內層循環(huán)的循環(huán)么?內層循環(huán)的循環(huán)條件和外層循環(huán)有何條件和外層循環(huán)有何關系?關系?請上機調試!請上機調試!編程實踐n編一程序打印九九乘法表。運行結果如下:n標號語句labelnbreak語句ncontinue語句nreturn語句C語言有那些跳轉語句?4.4 循環(huán)跳離語句循環(huán)跳離語句 標號語句lable 在在Java中中,
13、標號是一個標識符,用于給某程序塊一標號是一個標識符,用于給某程序塊一個名字。格式如下:個名字。格式如下: label: 通常與通常與break、continue語句一起使用,實現(xiàn)程語句一起使用,實現(xiàn)程序的跳轉。序的跳轉。break語句break語句的作用是終止包含語句的作用是終止包含break語句的程序塊,其語法格語句的程序塊,其語法格式為:式為: break label; break語句有兩種用法:語句有兩種用法:(1)不帶標號的)不帶標號的break語句。語句??捎迷诳捎迷趕witch、while、for和和do-while循環(huán)語句中,用來終止開關語句和循環(huán)語句。循環(huán)語句中,用來終止開關語
14、句和循環(huán)語句。(2)帶標號的)帶標號的break語句。語句。用在多重循環(huán)語句中,用在多重循環(huán)語句中,跳出標號跳出標號所指定的塊,并從緊跟該塊后的第一條語句處執(zhí)行。所指定的塊,并從緊跟該塊后的第一條語句處執(zhí)行。 break BlockLabel;與C語言有何不同?a: /標記代碼塊標記代碼塊a b:/標記代碼塊標記代碼塊b c: /標記代碼塊標記代碼塊c break b; /這段語句將不執(zhí)行這段語句將不執(zhí)行 /代碼塊代碼塊c結束結束 /這段語句也不執(zhí)行這段語句也不執(zhí)行 /代碼塊代碼塊b結束結束 /從這段語句開始執(zhí)行從這段語句開始執(zhí)行 /代碼塊代碼塊a結束結束Java控制語句控制語句Continu
15、e語句: continue語句只能用在循環(huán)中,它的作用是終止本次語句只能用在循環(huán)中,它的作用是終止本次循環(huán),執(zhí)行下一次循環(huán)。語法格式如下:循環(huán),執(zhí)行下一次循環(huán)。語法格式如下: continue label; continue語句有帶標號和不帶標號兩種形式。語句有帶標號和不帶標號兩種形式。 (1)不帶標號的不帶標號的continue語句語句用來結束本次循環(huán),跳過用來結束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進行終止條件的循環(huán)體中下面尚未執(zhí)行的語句,接著進行終止條件的判斷,以決定是否繼續(xù)循環(huán)。判斷,以決定是否繼續(xù)循環(huán)。 (2)帶標號的帶標號的continue語句語句,可以用可以用conti
16、nue跳轉到標跳轉到標號指明的循環(huán)中,這時的格式為號指明的循環(huán)中,這時的格式為continue outerLable;與C語言有何不同?outer: for( int i=0; i10; i+ ) /外層循環(huán)外層循環(huán) inner: for( int j=0; j10; j+ ) /內層循環(huán)內層循環(huán) if( ij ) continue outer; /內層循環(huán)結束內層循環(huán)結束 /外層循環(huán)結束外層循環(huán)結束for( int i= 0; i 10; i+ ) if( i = 5 )continue; System.out.print(i);Java控制語句控制語句return語句 return語句的功
17、能是從當前方法中退出,并返回語句的功能是從當前方法中退出,并返回到調用該方法的語句處繼續(xù)執(zhí)行程序,同時將方到調用該方法的語句處繼續(xù)執(zhí)行程序,同時將方法中的運行結果也帶回到調用方法中。它的語法法中的運行結果也帶回到調用方法中。它的語法格式如下:格式如下: return expression; 或 return (expression); 其中其中expression為方法運行的結果,要返回到調為方法運行的結果,要返回到調用方法中的。注意,如果一個方法的返回值類型用方法中的。注意,如果一個方法的返回值類型定義為定義為void,則方法體中不一定要有,則方法體中不一定要有return語句,語句,方法執(zhí)
18、行完后,自動返回到調用處。方法執(zhí)行完后,自動返回到調用處。n單獨一條單獨一條return語句放在方法中間時,會產生語句放在方法中間時,會產生編譯錯誤編譯錯誤,因為其后的語句將不會執(zhí)行到。因為其后的語句將不會執(zhí)行到。n若真需要退出方法,可以將若真需要退出方法,可以將return語句嵌入轉語句嵌入轉移語句(如移語句(如if-else)中實現(xiàn)。)中實現(xiàn)。注意注意!Java跳轉語句與跳轉語句與C語言跳轉語句區(qū)別語言跳轉語句區(qū)別nJava有帶標號的break和continue語句。C沒有。nJava沒有goto語句,C有。nJava和C的return語句一樣。課堂練習課堂練習閱讀分析程序,寫出其輸出結果int i,j; one: for(i=1;i=10;i+) System.o
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)個人述職報告
- 關于房頂做防水的合同書
- 中班新學期工作計劃
- 死因培訓課件教學課件
- 探公望隱居地-思創(chuàng)業(yè)中國夢
- 鱷魚掉牙課件教學課件
- 自建房安全事故免責協(xié)議書(2篇)
- 南京航空航天大學《材料工藝學實踐》2021-2022學年第一學期期末試卷
- 稻香樓賓館臨湖俱樂部項目安裝工程施工組織設計
- 法國號說課稿
- 云南小學地方課程二年級上冊動物王國教學設計
- 管轄權異議申請書電子版下載
- 學校校園欺凌師生訪談記錄表六篇
- 耳鼻喉科手術分級目錄2022
- 課后習題答案-電機與拖動-劉錦波
- GB/T 11836-2023混凝土和鋼筋混凝土排水管
- 第三章 繼承優(yōu)良傳統(tǒng) 弘揚中國精神
- 中國陰道炎診治課件
- 微生物生物轉化
- 冠心病的護理心得體會(11篇)
- 高中數(shù)學 人教A版 選修一 空間向量基本定理 課件
評論
0/150
提交評論