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

下載本文檔

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

文檔簡(jiǎn)介

1、第五章第五章 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)(二二)/回顧回顧 nwhile循環(huán)和do-while循環(huán)結(jié)構(gòu)之間的異同?/n學(xué)會(huì)使用for循環(huán)結(jié)構(gòu)n學(xué)會(huì)在程序中使用break和continuen掌握循環(huán)的嵌套學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)/為什么使用為什么使用for循環(huán)循環(huán)2-1n回顧問(wèn)題1:寫(xiě)一百遍“我最棒” n回顧問(wèn)題2:根據(jù)人數(shù)和成績(jī),計(jì)算平均成績(jī)共同點(diǎn):確定的循環(huán)次數(shù)共同點(diǎn):確定的循環(huán)次數(shù) int i=0;while(i100) System.out.println(我最棒我最棒); i+; for(int i=0;i100;i+) System.out.println(我最棒我最棒);while循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)f

2、or循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)/for循環(huán)的語(yǔ)法和執(zhí)行順序循環(huán)的語(yǔ)法和執(zhí)行順序什么是什么是for循環(huán)循環(huán)for( ; ; ) ; 條件為條件為true 循環(huán)體被執(zhí)行循環(huán)體被執(zhí)行 for ( int i = 0 ; i 100 ; i+ ) System.out.println(我最棒我最棒); 注意:注意:for循環(huán)括號(hào)中的三個(gè)表達(dá)式都可以省略,但是“;”;”不能省。不能省。 表達(dá)式表達(dá)式1 表達(dá)式表達(dá)式2 表達(dá)式表達(dá)式3 循環(huán)操作循環(huán)操作 參數(shù)初始化參數(shù)初始化條件判斷條件判斷更新循環(huán)變量更新循環(huán)變量1243/如何使用如何使用for循環(huán)循環(huán)1、循環(huán)錄入某學(xué)員的5門(mén)課成績(jī),計(jì)算平均分循環(huán)次數(shù)循環(huán)次數(shù):5循

3、環(huán)條件循環(huán)條件:循環(huán)的次數(shù)不足:循環(huán)的次數(shù)不足5,繼續(xù)循環(huán),繼續(xù)循環(huán)循環(huán)操作循環(huán)操作:錄入成績(jī),計(jì)算:錄入成績(jī),計(jì)算成績(jī)之和成績(jī)之和n使用for循環(huán)結(jié)構(gòu)的步驟1、分析循環(huán)條件和循環(huán)操作2、套用for語(yǔ)法寫(xiě)出代碼3、檢查循環(huán)是否能夠退出結(jié)合問(wèn)題結(jié)合問(wèn)題1/如何使用for循環(huán) /省略聲明變量省略聲明變量 for(int i = 0; i 5; i+) /循環(huán)循環(huán)5次錄入次錄入5門(mén)課成績(jī)門(mén)課成績(jī) System.out.print(請(qǐng)輸入請(qǐng)輸入5門(mén)功課中第門(mén)功課中第 + (i+1) + 門(mén)課的成績(jī):門(mén)課的成績(jī): ); score = input.nextInt(); sum = sum + score

4、; avg = sum / 5; /計(jì)算平均分計(jì)算平均分 System.out.println(name + 的平均分是:的平均分是: + avg);初始值:初始值:i= 0循環(huán)條件:循環(huán)條件:i5循環(huán)變量改變:循環(huán)變量改變:i+循環(huán)操作執(zhí)行循環(huán)操作執(zhí)行5次次演示示例:使用演示示例:使用for循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)/如何使用如何使用for循環(huán)循環(huán) 2、輸出如圖所示加法表for( int i = 0; i=num+i; i+, num- ) System.out.println(i + + + num + = + (i+num); 1、循環(huán)初始化:、循環(huán)初始化:i = 0;num = 輸入值輸入值2、

5、循環(huán)條件:、循環(huán)條件:i=輸入值輸入值3、循環(huán)操作:計(jì)算、循環(huán)操作:計(jì)算i+j4、循環(huán)變量的改變:、循環(huán)變量的改變:i+,j-表達(dá)式表達(dá)式3可以是用可以是用“,”隔開(kāi)的多隔開(kāi)的多個(gè)表達(dá)式,運(yùn)算順序從左到右個(gè)表達(dá)式,運(yùn)算順序從左到右演示示例演示示例2:使用:使用for循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)/for循環(huán)常見(jiàn)問(wèn)題4-1for(;i10;i+) System.out.println(這是這是 +i);int i=0;編譯錯(cuò)誤:編譯錯(cuò)誤:變量變量 i 沒(méi)有初始化沒(méi)有初始化/for循環(huán)常見(jiàn)問(wèn)題4-2for(int i=0;i+) System.out.println(這是這是 +i);編譯正確,但是缺少編譯正確

6、,但是缺少循環(huán)條件,造成死循環(huán)循環(huán)條件,造成死循環(huán)/for循環(huán)常見(jiàn)問(wèn)題4-3for(int i=0;i10;) System.out.println(這是這是 +i); i+;省略表達(dá)式省略表達(dá)式3,在循環(huán)體內(nèi)應(yīng)設(shè)法改,在循環(huán)體內(nèi)應(yīng)設(shè)法改變循環(huán)變量的值以結(jié)束循環(huán)變循環(huán)變量的值以結(jié)束循環(huán)編譯通過(guò),但是循環(huán)變量的編譯通過(guò),但是循環(huán)變量的值無(wú)變化,造成死循環(huán)值無(wú)變化,造成死循環(huán)/for循環(huán)常見(jiàn)問(wèn)題4-4for(;) System.out.println(這是測(cè)試這是測(cè)試);表達(dá)式全省略,無(wú)條件判斷,循環(huán)變量無(wú)改變,表達(dá)式全省略,無(wú)條件判斷,循環(huán)變量無(wú)改變,應(yīng)在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán),否則會(huì)造成死循環(huán)應(yīng)

7、在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán),否則會(huì)造成死循環(huán)死循環(huán)死循環(huán)/for each循環(huán)循環(huán)n又稱(chēng)通用for循環(huán),可以用來(lái)依次處理數(shù)組或集合中的每個(gè)元素而不必為指定下標(biāo)值而分心。n語(yǔ)法:定義一個(gè)變量用于暫存集合中的每一個(gè)元素,并執(zhí)行相應(yīng)的語(yǔ)句塊。集合表達(dá)式必須是一個(gè)數(shù)組或是一個(gè)實(shí)現(xiàn)了Iterable接口的類(lèi)對(duì)象。for(variable:collection)/語(yǔ)句塊/小結(jié)小結(jié)1 求1100之間不能被3整除的數(shù)之和 (使用for循環(huán)結(jié)構(gòu)) /為什么需要break語(yǔ)句int i = 2;switch(i) case 1: System.out.println(星期一星期一); break; case 2: S

8、ystem.out.println(星期二星期二); break; /其他語(yǔ)句其他語(yǔ)句遇到遇到break,立即跳出,立即跳出switch語(yǔ)句語(yǔ)句n回顧break用于switch語(yǔ)句n描述4000米長(zhǎng)跑比賽for (int i = 0; i10; i+) 跑跑400米;米; if(不能堅(jiān)持)(不能堅(jiān)持) break; /退出比賽退出比賽 第第8圈,圈,快累死了快累死了我要退出我要退出/什么是什么是break語(yǔ)句語(yǔ)句nbreak:改變程序控制流用于do-while、while、for中時(shí),可跳出循環(huán)而執(zhí)行循環(huán)后面的語(yǔ)句while() break; 跳出整個(gè)循環(huán)跳出整個(gè)循環(huán)break通常在循環(huán)中與通

9、常在循環(huán)中與條件語(yǔ)句一起使用條件語(yǔ)句一起使用/如何使用如何使用break語(yǔ)句語(yǔ)句2-1 3、循環(huán)錄入某學(xué)生5門(mén)課的成績(jī)并計(jì)算平均分,如果某分?jǐn)?shù)錄入為負(fù),停止錄入并提示錄入錯(cuò)誤循環(huán)錄入成績(jī),判斷錄入正確性:循環(huán)錄入成績(jī),判斷錄入正確性:錄入錯(cuò)誤,使用錄入錯(cuò)誤,使用break語(yǔ)句立刻跳語(yǔ)句立刻跳出循環(huán);否則,累加求和出循環(huán);否則,累加求和演示示例演示示例3:使用:使用break語(yǔ)句語(yǔ)句/如何使用break語(yǔ)句2-2for(int i = 0; i 5; i+) /循環(huán)循環(huán)5次錄入次錄入5門(mén)課成績(jī)門(mén)課成績(jī) System.out.print(請(qǐng)輸入請(qǐng)輸入5門(mén)功課中第門(mén)功課中第 + (i+1) + 門(mén)課

10、的成績(jī):門(mén)課的成績(jī): ); score = input.nextInt(); /從控制臺(tái)接收數(shù)據(jù)從控制臺(tái)接收數(shù)據(jù) if(score 0) wrong = false; /出錯(cuò)標(biāo)識(shí)出錯(cuò)標(biāo)識(shí) break; /退出循環(huán)退出循環(huán) sum = sum + score;循環(huán)外的語(yǔ)句循環(huán)外的語(yǔ)句對(duì)錄入的分?jǐn)?shù)進(jìn)行判斷,如對(duì)錄入的分?jǐn)?shù)進(jìn)行判斷,如果小于果小于0,標(biāo)記出錯(cuò)狀態(tài),并,標(biāo)記出錯(cuò)狀態(tài),并立即跳出整個(gè)立即跳出整個(gè)for循環(huán)循環(huán)/為什么需要為什么需要continue 4、循環(huán)錄入Java課的學(xué)生成績(jī),統(tǒng)計(jì)分?jǐn)?shù)大于等于 80分的學(xué)生比例1、通過(guò)循環(huán),獲得分?jǐn)?shù)大、通過(guò)循環(huán),獲得分?jǐn)?shù)大于等于于等于80分的學(xué)生人數(shù)

11、分的學(xué)生人數(shù)num2、判斷:如果成績(jī)、判斷:如果成績(jī)80,不,不執(zhí)行執(zhí)行num+,直接進(jìn)入下一,直接進(jìn)入下一次循環(huán)次循環(huán)/什么是什么是continue語(yǔ)句語(yǔ)句ncontinue :只能用在循環(huán)里ncontinue 作用:跳過(guò)循環(huán)體中剩余的語(yǔ)句而執(zhí)行下一次循環(huán)while() continue; 繼續(xù)下一次循環(huán)繼續(xù)下一次循環(huán)通常與條件語(yǔ)句一起使通常與條件語(yǔ)句一起使用,加速循環(huán)用,加速循環(huán)for(int i = 0; i10;i+) 跑跑400米;米; if(!口渴)(!口渴) continue; /不喝水,繼續(xù)跑不喝水,繼續(xù)跑 接過(guò)水壺,喝水接過(guò)水壺,喝水;示例示例/如何使用如何使用continu

12、e for(int i = 0; i total; i+) System.out.print(請(qǐng)輸入第請(qǐng)輸入第 + (i+1) + 位學(xué)生的成績(jī):位學(xué)生的成績(jī): ); score = input.nextInt(); if(score 80) continue; num+; /大于等于大于等于80分的人數(shù)分的人數(shù)double rate = (double) num / total * 100;System.out.println(80分以上的學(xué)生所占的比例為:分以上的學(xué)生所占的比例為:+ rate + %);對(duì)錄入的分?jǐn)?shù)進(jìn)行判斷,如對(duì)錄入的分?jǐn)?shù)進(jìn)行判斷,如果小于果小于80,跳出本次循環(huán),跳出本

13、次循環(huán),執(zhí)行下一次循環(huán)執(zhí)行下一次循環(huán)問(wèn)題問(wèn)題4完整代碼完整代碼/小結(jié)小結(jié)21.110之間的整數(shù)相加,得到累加值大于20的當(dāng)前數(shù) 2.求110之間的所有偶數(shù)和3.輸出1100之間的整數(shù),個(gè)位是7的和能被7整除的數(shù)除外/對(duì)比對(duì)比break和和continuen對(duì)比方法:通過(guò)Eclipse單步運(yùn)行,觀察程序執(zhí)行順序變量值的變化n觀察案例案例1:110之間的整數(shù)相加,得到累加值大于20的當(dāng)前數(shù) 案例2:求110之間的所有偶數(shù)和/小結(jié)小結(jié)3n說(shuō)一說(shuō)在循環(huán)中使用continue和break的區(qū)別? int sum=0;for( int i=0;i5;i+) if( i = 3) break; sum=su

14、m+i;System.out.println(sum = +sum);sum = 3sum = 7n輸出值是多少?如果將break替換成continue,輸出值又為多少?替換后替換后/循環(huán)結(jié)構(gòu)總結(jié)循環(huán)結(jié)構(gòu)總結(jié)2-1n到目前為止所學(xué)的循環(huán)結(jié)構(gòu)有哪些? 需要多次重復(fù)執(zhí)行一個(gè)或多個(gè)任務(wù)的問(wèn)題考慮使用需要多次重復(fù)執(zhí)行一個(gè)或多個(gè)任務(wù)的問(wèn)題考慮使用循環(huán)來(lái)解決循環(huán)來(lái)解決/循環(huán)總結(jié)循環(huán)總結(jié)2-2int 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

15、i=0;i10;i+)sum=sum+i;123412341234while和和for相同,先進(jìn)行判斷,后執(zhí)行循環(huán)體內(nèi)容相同,先進(jìn)行判斷,后執(zhí)行循環(huán)體內(nèi)容do-while是先執(zhí)行,后判斷,至少執(zhí)行一次是先執(zhí)行,后判斷,至少執(zhí)行一次指出各種循環(huán)結(jié)構(gòu)的執(zhí)行順序指出各種循環(huán)結(jié)構(gòu)的執(zhí)行順序 /嵌套 while 循環(huán)q 嵌套 while 循環(huán)的語(yǔ)法while(i = 10) . . . while (i = j) . . . . . . . . .外循環(huán)內(nèi)循環(huán)只有在內(nèi)循環(huán)完全結(jié)束后,外循環(huán)才只有在內(nèi)循環(huán)完全結(jié)束后,外循環(huán)才會(huì)進(jìn)行下一趟。會(huì)進(jìn)行下一趟。/嵌套循環(huán)嵌套循環(huán)2-1問(wèn)題1:用“*”輸出一個(gè)菱形圖

16、案 * * * * * * * * * * * * * * * * * * * * * * * * *int i, j, k;for (i = 0; i 4; i+) for (j = 0; j 3 - i; j+) System.out.print( ); for (k = 0; k 2 * i + 1; k+) System.out.print(*); System.out.print(n);for (i = 0; i 3; i+) for (j = 0; j i+1; j+) System.out.print( ); for (k = 0; k 5 - 2 * i; k+) System

17、.out.print(*); System.out.print(n);外層循環(huán)控制行數(shù)外層循環(huán)控制行數(shù)打印空格打印空格打印打印“*”換行換行/問(wèn)題2:輸出100200之間所有的素?cái)?shù)嵌套循環(huán)2-2int i, j, n;n = 0;for (i = 100; i = 200; i+) j = 2; while (i % j != 0)j+; if (i = j) System.out.print(i + t);n+;if (n % 8 = 0) System.out.println(); System.out.println();控制每行輸出控制每行輸出8個(gè)素?cái)?shù)個(gè)素?cái)?shù)如果第一個(gè)能被整除的數(shù)等于該數(shù)本身,如果第一個(gè)能被整除的數(shù)等于該數(shù)本身,則說(shuō)明該數(shù)為素?cái)?shù)則說(shuō)明該數(shù)為素?cái)?shù)從從2到

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論