




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
程序控制結構及實例第1頁,課件共17頁,創(chuàng)作于2023年2月目標掌握每種語句的格式及語法結構運用循環(huán)語句實現(xiàn)循環(huán)結構的程序設計具備初步描述算法的能力第2頁,課件共17頁,創(chuàng)作于2023年2月循環(huán)結構循環(huán)結構是指在一定的條件下反復執(zhí)行某段程序,被反復執(zhí)行的這段程序稱為“循環(huán)體”。
Java中有三種語句來實現(xiàn)循環(huán)結構,分別是while、do-while和for語句。它們的結構分別如下圖所示。第3頁,課件共17頁,創(chuàng)作于2023年2月while語句while語句的格式如下:
while(條件表達式){
循環(huán)體語句;
}在循環(huán)剛開始時,會計算一次“條件表達式”的值。當條件為假時,將不執(zhí)行循環(huán)體,直接跳轉到循環(huán)體外,執(zhí)行循環(huán)體外的后續(xù)語句;當條件為真時,便執(zhí)行循環(huán)體。每執(zhí)行完一次循環(huán)體,都會重新計算一次條件表達式,當條件為真時,便繼續(xù)執(zhí)行循環(huán)體,直到條件為假才結束循環(huán)?!纠?.4】用while語句計算10的階乘cha=0; //b-awhile(a<b){cha++;a++; }System.out.print(cha);第4頁,課件共17頁,創(chuàng)作于2023年2月do-while語句do-while語句的格式如下:
do{
循環(huán)體語句;
}while(條件表達式);
do-while循環(huán)與while循環(huán)的不同在于:它先執(zhí)行循環(huán)中的語句,然后再判斷條件是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。因此,do-while循環(huán)至少要執(zhí)行一次循環(huán)語句?!纠?.5】用do-while語句計算10的階乘第5頁,課件共17頁,創(chuàng)作于2023年2月for語句for語句是三個循環(huán)語句中功能最強,使用最廣泛的一個。for語句的格式如下:
for(表達式1;表達式2;表達式3){
循環(huán)體語句;
}表達式1一般是一個賦值語句,它用來給循環(huán)控制變量賦初值;表達式2是一個布爾類型的表達式,它決定什么時候退出循環(huán);表達式3一般用來修改循環(huán)變量,控制變量每循環(huán)一次后按什么方式變化。這三個部分之間用“;”分開。第6頁,課件共17頁,創(chuàng)作于2023年2月for語句的執(zhí)行過程for(intcha=0;a<b;a++)cha++;(1)在循環(huán)剛開始時,先計算表達式1,在這個過程中,一般完成的是初始化循環(huán)變量或其它變量。(2)根據(jù)表達式2的值來決定是否執(zhí)行循環(huán)體。表達式2是一個返回布爾值的表達式,若該值為假,將不執(zhí)行循環(huán)體,并退出循環(huán);若該值為真,將執(zhí)行循環(huán)體。(3)執(zhí)行完一次循環(huán)體后,計算表達式3。在這個過程中一般會修改循環(huán)變量。(4)轉入第(2)步繼續(xù)執(zhí)行?!纠?.6】用for語句計算10的階乘第7頁,課件共17頁,創(chuàng)作于2023年2月跳轉語句跳轉語句用來實現(xiàn)循環(huán)執(zhí)行過程中的流程轉移。在switch語句中使用過的break語句就是一種跳轉語句。在Java語言中,有兩種跳轉語句:break語句和continue語句。在Java語言中,可用break和continue控制循環(huán)的流程。其中,break用于強行退出循環(huán),不執(zhí)行循環(huán)中剩余的語句。而continue則停止執(zhí)行當前的循環(huán),開始新的循環(huán)。第8頁,課件共17頁,創(chuàng)作于2023年2月break語句作用:使程序的執(zhí)行流程從一個語句塊內部轉移出去。它只在switch語句和循環(huán)語句中使用,允許從switch語句的case子句中跳出,或從循環(huán)體內跳出分為帶標號和不帶標號兩種形式:break[標號名];帶標號的break語句可以從多重循環(huán)體的最內部跳出所有的循環(huán),而不帶標號的break語句只能跳到當前循環(huán)外層Label:for(inta=0;a<4;a++){for(intj=0;j<2;j++){
if(a=2) break
Label;
System.out.print (a*2+j+”\t”);
}System.out.println(“a=“+a);第9頁,課件共17頁,創(chuàng)作于2023年2月continue語句continue語句只能用在循環(huán)語句中,作用是終止當前這一輪循環(huán),不再執(zhí)行在它后面的語句,直接進入下一輪的循環(huán)。continue語句具有帶標號和不帶標號兩種形式:continue[標號名];標號名必須放在循環(huán)語句之前,用于標志這個循環(huán)體在while和do…while循環(huán)中,不帶標號的continue語句使程序流程直接跳到循環(huán)條件的判斷上;在for循環(huán)中,不帶標號的continue語句直接計算表達式3的值,再根據(jù)表達式2的值決定是否繼續(xù)循環(huán)。第10頁,課件共17頁,創(chuàng)作于2023年2月
//文件名Ex4_10publicclassEx4_10{publicstaticvoidmain(String[]args){ intj;for(j=1;j<=10;j++){ if(j==5) continue; System.out.print(j+","); } }}輸出整數(shù)1,2,3,4,6,7,8,9,10第11頁,課件共17頁,創(chuàng)作于2023年2月遞歸在方法體內可以調用其他方法,方法體內也可以調用該方法本身,即方法自己調用自己,我們稱自己直接或間接調用自己的方法為遞歸方法。在方法體內調用該方法本身的過程,稱為方法的遞歸調用。下面我們通過分析Fibonacci序列介紹遞歸方法。Fibonacci序列:1,1,2,3,5,8,13,21,34,……以1和1開始,每個后續(xù)數(shù)字是序列中前兩個數(shù)字的和。這個序列可以被遞歸地定義為下面的形式。
f(0)=1;f(1)=1;f(n)=f(n-2)+f(n-1);n>=2用遞歸方法計算Fibonacci序列第20項第12頁,課件共17頁,創(chuàng)作于2023年2月求50到100(包含50和100)之間的素數(shù)并輸出素數(shù)是指除1和它本身是該數(shù)的因子外,沒有別的因子的自然數(shù)。分析(自頂向下,逐步求精):循環(huán)變量i從50循環(huán)到100,每次增1,判斷i是否是素數(shù)要判斷某個數(shù)i是否為素數(shù),設置變量j從2循環(huán)到(i-1),判斷j是否為i的因子。若i有因子j,則不是素數(shù)。判斷j是否為i的因子的方法,如果表達式(i%j==0)為true,說明i能被j整除,則j是i的因子結論:這個問題可以通過兩層循環(huán)實現(xiàn),外層遞增被判斷的數(shù)字i;內層循環(huán)判斷變量i是否為素數(shù)。第13頁,課件共17頁,創(chuàng)作于2023年2月publicclassEx4_13{publicstaticvoidmain(Stringargs[]){inti,j;next:for(i=50;i<=100;i++){for(j=2;j<i-1;j++){if(i%j==0)continuenext;}System.out.println(i);}}}例4.13代碼第14頁,課件共17頁,創(chuàng)作于2023年2月求兩個給定正數(shù)的最大公約數(shù)和最小公倍數(shù)最大公約數(shù)——輾轉相除法(歐幾里德算法)余數(shù)1=大數(shù)%小數(shù)余數(shù)2=小數(shù)%余數(shù)1余數(shù)3=余數(shù)1%余數(shù)2直至余數(shù)為0,則最后一個除數(shù)為所求最小公倍數(shù):大數(shù)*小數(shù)/最大公約數(shù)……第15頁,課件共17頁,創(chuàng)作于2023年2月內容回顧本章首先介紹基本的控制結構,接下來討論選擇語句、循環(huán)語句、break語句、continue語句和遞歸等。雖然Java語言是面向對象的程序設計語言,但是面向對象的編程也是以面向過程編程為基礎而發(fā)展起來的,在對象的方法等程序片內部,仍然需要嚴格遵守傳統(tǒng)的結構化程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 委托經營酒店合同范本
- 餐廚廢棄物預處理技術設備企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略研究報告
- 建筑用紙企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略研究報告
- 悟空童鞋企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 保姆意外事件處理協(xié)議
- 化纖紗線企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 貴金屬礦石企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略研究報告
- 高鈦渣企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略研究報告
- 銀礦采選企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略研究報告
- 折疊家具企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略研究報告
- 2025年天津三源電力集團限公司社會招聘33人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 西安2025年陜西西安音樂學院專任教師招聘20人筆試歷年參考題庫附帶答案詳解
- 國家安全與生態(tài)安全
- 課題申報參考:養(yǎng)老金融在三支柱養(yǎng)老金體系中的作用機制與路徑仿真研究
- 2024-2025學年第二學期學校團委工作計劃(附2月-6月安排表)
- 培養(yǎng)自律能力主題班會
- 巴厘島旅游流程介紹
- 【物理】牛頓第一定律 2024-2025學年人教版物理八年級下冊
- 嬰幼兒電擊傷實踐操作張春芳講解
- 2025網(wǎng)格員考試題庫及參考答案
- 2025年湖南有色金屬職業(yè)技術學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
評論
0/150
提交評論