




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、程序控制結構及實例第1頁,共17頁,2022年,5月20日,11點56分,星期五目標掌握每種語句的格式及語法結構運用循環語句實現循環結構的程序設計具備初步描述算法的能力第2頁,共17頁,2022年,5月20日,11點56分,星期五循環結構循環結構是指在一定的條件下反復執行某段程序,被反復執行的這段程序稱為“循環體”。 Java中有三種語句來實現循環結構,分別是while、do-while和for語句。它們的結構分別如下圖所示。第3頁,共17頁,2022年,5月20日,11點56分,星期五while語句while語句的格式如下: while(條件表達式) 循環體語句; 在循環剛開始時,會計算一次
2、“條件表達式”的值。當條件為假時,將不執行循環體,直接跳轉到循環體外,執行循環體外的后續語句;當條件為真時,便執行循環體。每執行完一次循環體,都會重新計算一次條件表達式,當條件為真時,便繼續執行循環體,直到條件為假才結束循環。【例4.4】 用while語句計算10的階乘cha=0;/b-awhile(ab) cha+; a+;System.out.print(cha);第4頁,共17頁,2022年,5月20日,11點56分,星期五do-while語句do-while語句的格式如下: do 循環體語句; while(條件表達式); do-while循環與while循環的不同在于:它先執行循環中的
3、語句,然后再判斷條件是否為真,如果為真則繼續循環;如果為假,則終止循環。因此,do-while循環至少要執行一次循環語句。【例4.5】 用do-while語句計算10的階乘第5頁,共17頁,2022年,5月20日,11點56分,星期五for語句for語句是三個循環語句中功能最強,使用最廣泛的一個。for語句的格式如下: for(表達式1;表達式2;表達式3) 循環體語句; 表達式1一般是一個賦值語句,它用來給循環控制變量賦初值;表達式2是一個布爾類型的表達式,它決定什么時候退出循環;表達式3一般用來修改循環變量,控制變量每循環一次后按什么方式變化。這三個部分之間用“;”分開。 第6頁,共17頁
4、,2022年,5月20日,11點56分,星期五for語句的執行過程for(int cha=0;ab;a+) cha+;(1)在循環剛開始時,先計算表達式1,在這個過程中,一般完成的是初始化循環變量或其它變量。(2)根據表達式2的值來決定是否執行循環體。表達式2是一個返回布爾值的表達式,若該值為假,將不執行循環體,并退出循環;若該值為真,將執行循環體。(3)執行完一次循環體后,計算表達式3。在這個過程中一般會修改循環變量。(4)轉入第(2)步繼續執行。【例4.6】用for語句計算10的階乘第7頁,共17頁,2022年,5月20日,11點56分,星期五跳轉語句跳轉語句用來實現循環執行過程中的流程轉
5、移。在switch語句中使用過的break語句就是一種跳轉語句。在Java語言中,有兩種跳轉語句:break語句和continue語句。在Java語言中,可用break和continue控制循環的流程。其中,break用于強行退出循環,不執行循環中剩余的語句。而continue則停止執行當前的循環,開始新的循環。第8頁,共17頁,2022年,5月20日,11點56分,星期五break語句作用:使程序的執行流程從一個語句塊內部轉移出去。它只在switch語句和循環語句中使用,允許從switch語句的case子句中跳出,或從循環體內跳出分為帶標號和不帶標號兩種形式:break 標號名;帶標號的br
6、eak語句可以從多重循環體的最內部跳出所有的循環,而不帶標號的break語句只能跳到當前循環外層Label:for(int a=0;a4;a+) for(int j=0;j2;j+) if(a=2)breakLabel;System.out.print(a*2+j+”t”);System.out.println(“a=“+a);第9頁,共17頁,2022年,5月20日,11點56分,星期五continue語句continue語句只能用在循環語句中,作用是終止當前這一輪循環,不再執行在它后面的語句,直接進入下一輪的循環。continue語句具有帶標號和不帶標號兩種形式: continue標號名;
7、標號名必須放在循環語句之前,用于標志這個循環體在while和dowhile循環中,不帶標號的continue語句使程序流程直接跳到循環條件的判斷上;在for循環中,不帶標號的continue語句直接計算表達式3的值,再根據表達式2的值決定是否繼續循環。第10頁,共17頁,2022年,5月20日,11點56分,星期五/文件名Ex4_10public class Ex4_10 public static void main(String args) int j; for(j=1;j=2用遞歸方法計算Fibonacci序列第20項第12頁,共17頁,2022年,5月20日,11點56分,星期五求50
8、到100(包含50和100)之間的素數并輸出素數是指除1和它本身是該數的因子外,沒有別的因子的自然數。分析(自頂向下,逐步求精):循環變量i從50循環到100,每次增1,判斷i是否是素數要判斷某個數i是否為素數,設置變量j從2循環到(i-1),判斷j是否為i的因子。若i有因子j,則不是素數。判斷j是否為i的因子的方法,如果表達式(i%j= =0)為true,說明i能被j整除,則j是i的因子結論:這個問題可以通過兩層循環實現,外層遞增被判斷的數字i;內層循環判斷變量i是否為素數。第13頁,共17頁,2022年,5月20日,11點56分,星期五public class Ex4_13 public
9、static void main(String args) int i,j;next: for(i=50;i=100;i+) for(j=2;ji-1;j+) if(i%j=0) continue next; System.out.println(i); 例4.13代碼第14頁,共17頁,2022年,5月20日,11點56分,星期五求兩個給定正數的最大公約數和最小公倍數最大公約數輾轉相除法(歐幾里德算法)余數1=大數%小數余數2=小數%余數1余數3=余數1%余數2直至余數為0,則最后一個除數為所求最小公倍數:大數*小數/最大公約數第15頁,共17頁,2022年,5月20日,11點56分,星期五內容回顧本章首先介紹基本的控制結構,接下來討論選擇語句、循環語句、break語句、continue語句和遞歸等。 雖然Java語言是面向對象的程序設計語言,但是面向對象的編程也是以面向過程編程為基礎而發展起來的,在對象的方法等程序片內部,仍然需要嚴格遵守傳統的結構化程序設計原則。所以應當熟練掌握結構化程序設計的三種基本流
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司放歌活動策劃方案
- 公司搬家宣傳策劃方案
- 公司禮物年會策劃方案
- 公司直播周年慶活動方案
- 公司秋游文體活動方案
- 公司組織掰手腕活動方案
- 財務管理在未來環境下的2025年試題及答案
- 拓展知識-滅火器的報廢要求
- 2025年信息技術基礎知識摩擦之知考試試卷及答案
- 2025年商業分析師職業素養測評試題及答案
- PythonWeb開發技術與應用(Flask版)PPT完整全套教學課件
- 小學科學實驗報告單空表
- 10kV~500kV輸變電及配電工程質量驗收與評定標準:01輸電線路工程
- 子宮內膜癌內分泌治療課件
- 稅務行政處罰文書(標準版)
- 第三章葡萄酒釀造2
- 每天100道語法填空題過高考英語高頻詞匯12
- 配電室巡檢記錄表
- 數字程控交換機系統技術規范書
- 卓越績效評價準則概述(專業性權威性實用性)
- GB 1886.20-2016食品安全國家標準食品添加劑氫氧化鈉
評論
0/150
提交評論