05_循環(huán)結(jié)構(gòu)(二).ppt_第1頁(yè)
05_循環(huán)結(jié)構(gòu)(二).ppt_第2頁(yè)
05_循環(huán)結(jié)構(gòu)(二).ppt_第3頁(yè)
05_循環(huán)結(jié)構(gòu)(二).ppt_第4頁(yè)
05_循環(huán)結(jié)構(gòu)(二).ppt_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、循環(huán)結(jié)構(gòu)(二),2,回顧,while循環(huán)和do-while循環(huán)結(jié)構(gòu)之間的異同? 代碼填空: 實(shí)現(xiàn)整數(shù)反轉(zhuǎn),public class huiwen public static void main(String args) int num = 12345; / 表示原來(lái)的整數(shù) int digit; / 表示個(gè)位的數(shù)字 System.out.print(反轉(zhuǎn)后的整數(shù)是:); while(_) _; _; _; ,while(num!=0) digit = num %10; System.out.print(digit); num = num /10; ,3,學(xué)會(huì)使用for循環(huán)結(jié)構(gòu) 學(xué)會(huì)在程序中使用b

2、reak和continue 熟練使用Eclipse調(diào)試工具進(jìn)行程序調(diào)試,本章目標(biāo),4,為什么使用for循環(huán)2-1,回顧問(wèn)題1:小明說(shuō)一百遍“我最棒” 回顧問(wèn)題2:根據(jù)人數(shù)和成績(jī),計(jì)算平均成績(jī),解決: 使用while循環(huán),共同點(diǎn):確定的循環(huán)次數(shù),更優(yōu)解決: for循環(huán)結(jié)構(gòu),5,為什么使用for循環(huán)2-2,int i=0; while(i100) System.out.println(我最棒); i+; ,for(int i=0;i100;i+) System.out.println(我最棒); ,for比while更簡(jiǎn)潔,while循環(huán)結(jié)構(gòu),for循環(huán)結(jié)構(gòu),6,for循環(huán)的語(yǔ)法和執(zhí)行順序,什么是

3、for循環(huán),for( ; ; ) ; ,條件為true,循環(huán)體被執(zhí)行,for ( int i = 0 ; i 100 ; i+ ) System.out.println(我最棒); ,代碼規(guī)范:格式對(duì)齊、代碼的縮進(jìn),表達(dá)式1,表達(dá)式2,表達(dá)式3,循環(huán)操作,參數(shù)初始化,條件判斷,更新循環(huán)變量,1,2,4,3,7,如何使用for循環(huán)3-1,1、循環(huán)錄入某學(xué)員S1的5門(mén)課成績(jī), 計(jì)算平均分,循環(huán)次數(shù):5 循環(huán)條件:循環(huán)的次數(shù)不足5,繼續(xù)循環(huán) 循環(huán)操作:錄入成績(jī),計(jì)算成績(jī)之和,使用for循環(huán)結(jié)構(gòu)的步驟 1、分析循環(huán)條件和循環(huán)操作 2、套用for語(yǔ)法寫(xiě)出代碼 3、檢查循環(huán)是否能夠退出,結(jié)合問(wèn)題1,8,如

4、何使用for循環(huán)3-2,/省略聲明變量 for(int i = 0; i 5; i+) /循環(huán)5次錄入5門(mén)課成績(jī) System.out.print(請(qǐng)輸入5門(mén)功課中第 + (i+1) + 門(mén)課的成績(jī): ); score = input.nextInt(); sum = sum + score; avg = sum / 5; /計(jì)算平均分 System.out.println(name + 的平均分是: + avg);,初始值:i= 0 循環(huán)條件:i5 循環(huán)變量改變:i+,循環(huán)操作執(zhí)行5次,9,如何使用for循環(huán)3-3,2、輸出如圖所示加法表,for( int i = 0, j = val; i

5、=val; i+, j- ) System.out.println(i + + + j + = + (i+j); ,1、循環(huán)初始化:i = 0;j = 輸入值 2、循環(huán)條件:i=輸入值 3、循環(huán)操作:計(jì)算i+j 4、循環(huán)變量的改變:i+,j-,表達(dá)式3可以是用“,”隔開(kāi)的多 個(gè)表達(dá)式,運(yùn)算順序從左到右,表達(dá)式1中可以聲明多個(gè)同一 類(lèi)型的值并賦值,用“,”隔開(kāi),10,for循環(huán)常見(jiàn)問(wèn)題4-1,for(;i10;i+) System.out.println(這是 +i); ,int i=0;,編譯錯(cuò)誤: 變量 i 沒(méi)有初始化,for( ; ; ) ; ,不能省略,可省略,表達(dá)式1省略,循環(huán)變量 的

6、初始值在for語(yǔ)句之前 由賦值語(yǔ)句取得,11,for循環(huán)常見(jiàn)問(wèn)題4-2,for(int i=0;i+) System.out.println(這是 +i); ,編譯正確,但是缺少 循環(huán)條件,造成死循環(huán),12,for循環(huán)常見(jiàn)問(wèn)題4-3,for(int i=0;i10;) System.out.println(這是 +i); ,i+;,省略表達(dá)式3,在循環(huán)體內(nèi)應(yīng)設(shè)法改 變循環(huán)變量的值以結(jié)束循環(huán),編譯通過(guò),但是循環(huán)變量的值無(wú)變化,造成死循環(huán),13,for循環(huán)常見(jiàn)問(wèn)題4-4,for(;) System.out.println(這是測(cè)試); ,表達(dá)式全省略,無(wú)條件判斷,循環(huán)變量無(wú)改變, 應(yīng)在循環(huán)體內(nèi)設(shè)法

7、結(jié)束循環(huán),否則會(huì)造成死循環(huán),死循環(huán),14,小結(jié)1,求1100之間不能被3整除的數(shù)之和 (使用for循環(huán)結(jié)構(gòu)),15,為什么需要break語(yǔ)句,int i = 2; switch(i) case 1: System.out.println(星期一); break; case 2: System.out.println(星期二); break; /其他語(yǔ)句,遇到break,立即跳出switch語(yǔ)句,回顧break用于switch語(yǔ)句,描述4000米長(zhǎng)跑比賽,for (int i = 0; i10; i+) 跑400米; ,if(不能堅(jiān)持) break; /退出比賽 ,第8圈, 快累死了 我要退出,

8、16,什么是break語(yǔ)句,break:改變程序控制流 用于do-while、while、for中時(shí),可跳出循環(huán)而執(zhí)行循環(huán)后面的語(yǔ)句,while() break; ,跳出整個(gè)循環(huán),break通常在循環(huán)中與條件語(yǔ)句一起使用,17,如何使用break語(yǔ)句2-1,3、循環(huán)錄入某學(xué)生5門(mén)課的成績(jī)并計(jì)算平均分,如果某分?jǐn)?shù)錄入為負(fù),停止錄入并提示錄入錯(cuò)誤,循環(huán)錄入成績(jī),判斷錄入正確性:錄入錯(cuò)誤,使用break語(yǔ)句立刻跳出循環(huán);否則,累加求和,18,如何使用break語(yǔ)句2-2, for(int i = 0; i 5; i+) /循環(huán)5次錄入5門(mén)課成績(jī) System.out.print(請(qǐng)輸入5門(mén)功課中第

9、+ (i+1) + 門(mén)課的成績(jī): ); score = input.nextInt(); /從控制臺(tái)接收數(shù)據(jù) if(score 0) wrong = false; /出錯(cuò)標(biāo)識(shí) break; /退出循環(huán) sum = sum + score; 循環(huán)外的語(yǔ)句,對(duì)錄入的分?jǐn)?shù)進(jìn)行判斷,如果小于0,標(biāo)記出錯(cuò)狀態(tài),并立即跳出整個(gè)for循環(huán),問(wèn)題3,19,110之間的整數(shù)相加,得到累加值大于20的當(dāng)前數(shù),1、使用循環(huán)進(jìn)行累加,從1到10 2、判斷累加值是否大于20 3、如果大于20,則跳出循環(huán),并打印當(dāng)前值,/定義一個(gè)變量,進(jìn)行累加 int sum=0; for(int i=1;i 20 ) System.o

10、ut.print(當(dāng)前數(shù)是:+i); break; ,小結(jié)2,20,為什么需要continue語(yǔ)句,4、循環(huán)錄入Java課的學(xué)生成績(jī),統(tǒng)計(jì)分?jǐn)?shù)大于等于 80分的學(xué)生比例,1、通過(guò)循環(huán),獲得分?jǐn)?shù)大于等于80分的學(xué)生人數(shù)num 2、判斷:如果成績(jī)80,不執(zhí)行num+,直接進(jìn)入下一次循環(huán),21,什么是continue語(yǔ)句,continue :只能用在循環(huán)里 continue 作用:跳過(guò)循環(huán)體中剩余的語(yǔ)句而執(zhí)行下一次循環(huán),while() continue; ,繼續(xù)下一次循環(huán),通常與條件語(yǔ)句一起使用,加速循環(huán),for(int i = 0; i10;i+) 跑400米; if(!口渴) continue;

11、 /不喝水,繼續(xù)跑 接過(guò)水壺,喝水; ,示例,22,如何使用continue,for(int i = 0; i total; i+) System.out.print(請(qǐng)輸入第 + (i+1) + 位學(xué)生的成績(jī): ); score = input.nextInt(); if(score 80) continue; num+; /大于等于80分的人數(shù) double rate = (double) num / total * 100; System.out.println(80分以上的學(xué)生所占的比例為:+ rate + %);,對(duì)錄入的分?jǐn)?shù)進(jìn)行判斷,如果小于80,跳出本次循環(huán),執(zhí)行下一次循環(huán),問(wèn)題

12、4,23,1、使用循環(huán)進(jìn)行累加,循環(huán)的范圍是從1至10 2 、判斷當(dāng)前數(shù)是否為偶數(shù) 3 、如果為奇數(shù)跳過(guò),執(zhí)行下一個(gè)循環(huán),如果為偶數(shù),進(jìn)行累加,int sum=0; /定義一個(gè)變量,進(jìn)行累加 for(int i=1;i=10;i+) if( i % 2 = 1) continue; /如果i為奇數(shù),結(jié)束本次循環(huán),進(jìn)行下一次循環(huán) sum=sum+i; System.out.print(1-10之間的偶數(shù)和是:+sum);,小結(jié)3,求110之間的所有偶數(shù)和,演示運(yùn)行效果,24,對(duì)比break和continue,對(duì)比方法:通過(guò)Eclipse單步運(yùn)行,觀察 程序執(zhí)行順序 變量值的變化 觀察案例 案例1

13、:110之間的整數(shù)相加,得到累加值大于20的當(dāng)前數(shù) 案例2:求110之間的所有偶數(shù)和,25,觀察案例1,單步運(yùn)行案例1進(jìn)行代碼跟蹤 設(shè)置斷點(diǎn) 點(diǎn)擊 按鈕,啟動(dòng)調(diào)試 點(diǎn)擊 按鈕,程序單步執(zhí)行 觀察程序執(zhí)行流程、變量sum和i的變化,斷點(diǎn),26,觀察案例2,單步運(yùn)行案例2進(jìn)行代碼跟蹤 設(shè)置斷點(diǎn) 點(diǎn)擊 按鈕,啟動(dòng)調(diào)試 點(diǎn)擊 按鈕,程序單步執(zhí)行 觀察程序執(zhí)行流程、變量sum和i的變化,斷點(diǎn),27,小結(jié)4,說(shuō)一說(shuō)在循環(huán)中使用continue和break的區(qū)別?,int sum=0; for( int i=0;i5;i+) if( i = 3) break; sum=sum+i; System.out.p

14、rintln(sum = +sum);,sum = 3,sum = 7,輸出值是多少?如果將break替換成continue,輸出值又為多少?,替換后,28,循環(huán)結(jié)構(gòu)總結(jié)2-1,到目前為止所學(xué)的循環(huán)結(jié)構(gòu)有哪些?,需要多次重復(fù)執(zhí)行一個(gè)或多個(gè)任務(wù)的問(wèn)題考慮使用 循環(huán)來(lái)解決,29,循環(huán)總結(jié)2-2,int i=0; int sum=0; while( i10 ) sum=sum+i; i+; ,int i=0; int sum=0; do sum=sum+i; i+; while(i10);,int sum=0; for(int i=0;i10;i+) sum=sum+i; ,1,2,3,4,1,2,3,4,1,2,3,4,while和for相同,先進(jìn)行判斷,后執(zhí)行循環(huán)體內(nèi)容 do-while是先執(zhí)行,后判斷,至少執(zhí)行一次,指出各種循環(huán)結(jié)構(gòu)的執(zhí)行順序,30,控制流語(yǔ)句小結(jié),順序結(jié)構(gòu):語(yǔ)句順序執(zhí)行 分支結(jié)構(gòu):語(yǔ)句在滿足條件下執(zhí)行 if, if-else, if-else if-else, switch 循環(huán)結(jié)構(gòu):語(yǔ)句在滿足條件下循環(huán)執(zhí)行多次 while, do-

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論