java循環(huán)結(jié)構(gòu)_第1頁
java循環(huán)結(jié)構(gòu)_第2頁
java循環(huán)結(jié)構(gòu)_第3頁
java循環(huán)結(jié)構(gòu)_第4頁
java循環(huán)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、循環(huán)結(jié)構(gòu),2,分別寫出運行結(jié)果,switch(day) case 1: System.out.println(法國大餐); break; case 2: case 4: System.out.println(滿漢全席); break; case 7: if (weekOfMonth = 1) System.out.println(蘋果餐); else System.out.println(香蕉餐); break; ,法國大餐,香蕉餐,回顧,3,理解循環(huán)的含義 會使用while循環(huán)結(jié)構(gòu) 會使用do-while循環(huán)結(jié)構(gòu) 會使用for循環(huán)結(jié)構(gòu) 會使用調(diào)試解決簡單的程序錯誤,本章目標,4,1、盈盈為了

2、考驗令狐沖奪冠的決心,要他說一百遍“我能行!”,System.out.println(第1次說:我能行!); System.out.println(第2次說:我能行!); System.out.println(第100次說:我能行!);,100條,2、盈盈要他說10000遍“我是最棒的!”,怎么辦?,為什么需要循環(huán)2-1,演示完整代碼,5,為什么需要循環(huán)2-2,System.out.println(我是最棒的!); System.out.println(我是最棒的!); System.out.println(我是最棒的!); System.out.println(我是最棒的!); System

3、.out.println(我是最棒的!); System.out.println(我是最棒的!); System.out.println(我是最棒的!);,int i = 1; while ( i = 100 ) System.out.println( 我能行! ); i +; ,i=10000,我是最棒的!);,沒有使用循環(huán)結(jié)構(gòu),使用while循環(huán),完整代碼1,完整代碼2,演示示例2:使用循環(huán)結(jié)構(gòu)解決問題1,6,什么是循環(huán),打印50份試卷,10000米賽跑,旋轉(zhuǎn)的車輪,循環(huán)結(jié)構(gòu)的特點,鍥而不舍地學習,生活中的循環(huán),7,什么是while循環(huán),特點:先判斷,再執(zhí)行,while ( 循環(huán)條件 )

4、循環(huán)操作 ,符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出,循環(huán)中被重復執(zhí)行的操作,int i = 1; while ( i = 30 ) System.out.println(我能行!); i +; ,編碼規(guī)范:縮進、換行,8,2、如何用程序描述下面這個故事呢?,為了備戰(zhàn),令狐沖鍥而不舍地練習,盈盈嚴格把關 “盈盈,怎么樣,可以了嗎?” “不行,高音部分唱得還不是很好,鋼琴還要繼續(xù)練啊 !” 沒有聽到“很棒”的評價,看來革命尚未成功, 令狐沖并不氣餒: 早上5點練聲,上午練鋼琴,下午到聲樂老師家練習唱歌,晚上練習舞蹈基本功。,循環(huán)條件,循環(huán)操作,使用while循環(huán)的步驟 1、分析循環(huán)條件 2、分析循

5、環(huán)操作(重復執(zhí)行的代碼) 3、尋找循環(huán)變量改變的規(guī)律,怎樣使用while循環(huán)3-1,4、套用while語法寫出代碼 5、檢查循環(huán)是否能夠退出,9,怎樣使用while循環(huán)3-2,System.out.print(表演得怎么樣 ?(y/n):); answer = input.next(); while (! answer.equals(y) System.out.println(早上5點開始練聲 !); System.out.println(上午練習鋼琴 !); System.out.println(下午到聲樂老師家練習唱歌 !); System.out.println(晚上練習舞蹈基本功!);

6、 System.out.print(表演得怎樣 ?(y/n):); answer = input.next(); System.out.println(圓滿完成 !);,循環(huán)條件,循環(huán)操作,比較兩個String類型的值是否相等,演示示例3:使用while循環(huán)結(jié)構(gòu),10,怎樣使用while循環(huán)3-3,3、錄入班級人數(shù)和學員成績,計算班級學員的平均成績,循環(huán)條件:目前錄入的成績數(shù)目小于總?cè)藬?shù) 循環(huán)操作:錄入學生成績,并累加求和 改變循環(huán)變量,演示示例4:使用while循環(huán)結(jié)構(gòu),while(i=stuNum) System.out.print(請輸入學號 + i + 的成績:); score = i

7、nput.nextInt(); sum = sum + score; i+; avg = sum / stuNum ;,11,計算1+2+3+ +97+98+99+100=?,提示:1、循環(huán)條件是什么? 2、循環(huán)操作是什么? 3、int sum = 0; int i = 1; while ,參考代碼,實驗,12,while循環(huán)常見問題3-1,/* 打印4次“歡迎ACCP學員” */ public static void main(String args) int i = 0; while (i 4 ) System.out.println(歡迎ACCP學員); i + ; ,永遠都不會退出的循

8、環(huán)稱為死循環(huán),循環(huán)一直執(zhí)行,不會退出,哪里出錯了?,13,while循環(huán)常見問題3-2,/* 打印4次“歡迎ACCP學員” */ public static void main(String args) int i= 1; while ( i 4 ) System.out.println(歡迎ACCP學員); i +; ,i = 4,只打印了三次 ,哪里出錯了?,注意檢查循環(huán)次數(shù)是否滿足需求,14,while循環(huán)常見問題3-3,/* 打印4次“歡迎ACCP學員” */ public static void main(String args) int i = 0; while ( i 5 ) S

9、ystem.out.println(歡迎ACCP學員); i +; ,注意:如果一開始條件就不滿足,while循環(huán)一次都不執(zhí)行,i 5,一次都沒有打印,哪里出錯了?,15,2010年學校培養(yǎng)學生8萬人,每年增長25%,請問按此增長速度,到哪一年培訓學生人數(shù)將達到20萬人?,提示:1、循環(huán)條件和循環(huán)操作分別是什么? 2、int year = 2010; double students = 80000; while 3、2015年培訓學生數(shù)量 = 80000 * (1 + 0.25 ),參考代碼,小結(jié),16,do-while循環(huán),4、如何用程序講述下面的故事?,苦練半年,眼看大賽在即, 盈盈提議:

10、彩排一次,如果很令人滿意,以后就不用彩排了,否則每天都要彩排, 直到現(xiàn)場表現(xiàn)讓她滿意為止! 他能否用動聽的歌聲震撼盈盈,用美妙的鋼琴聲博得贊賞呢?,do 循環(huán)操作 while ( 循環(huán)條件 );,while (循環(huán)條件) 循環(huán)操作 ,while循環(huán)先判斷,再執(zhí)行不適合描述此故事,?,17,什么是do-while循環(huán),do 循環(huán)操作 while ( 循環(huán)條件 );,先執(zhí)行一遍循環(huán)操作,符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出,特點:先執(zhí)行,再判斷,18,怎樣使用do-while循環(huán)2-1,do System.out.println(唱歌 !); System.out.println(演奏肖邦鋼琴曲

11、 !); System.out.print(可以了嗎 ?(y/n):); answer = input.next(); while (!answer.equals(y) ) ; System.out.println(大功告成 !);,循環(huán)條件,先執(zhí)行一遍循環(huán)操作,演示示例5:使用do-while循環(huán)結(jié)構(gòu),19,怎樣使用do-while循環(huán)2-2,5、連續(xù)錄入學生姓名,輸入“q”則系統(tǒng)退出,String name ; Scanner input = new Scanner(System.in); do System.out.print(請輸入學生姓名:); name = input.next()

12、; while ( !name.equals(q) ); System.out.println(程序結(jié)束);,演示示例6:使用do-while循環(huán)結(jié)構(gòu),20,while循環(huán)和do-while循環(huán)的區(qū)別 語法不同 初始情況不滿足循環(huán)條件時 while循環(huán):一次都不會執(zhí)行 do-while循環(huán):不管任何情況都至少執(zhí)行一次,do 循環(huán)操作 while( 循環(huán)條件 );,while ( 循環(huán)條件 ) 循環(huán)操作 ,先判斷,再執(zhí)行,先執(zhí)行,再判斷,比較while和do-while,21,小結(jié)2,使用do-while實現(xiàn):輸出攝氏溫度與華氏溫度的對照表,要求它從攝氏溫度0度到250度,每隔20度為一項,對照

13、表中的條目不超過10條。,參考代碼,提示:1、循環(huán)操作:計算攝氏溫度,并輸出對照條目 2、循環(huán)條件:條目=10 while(i100) System.out.println(我最棒); i+; ,for(int i=0;i100;i+) System.out.println(我最棒); ,for比while更簡潔,使用for循環(huán),使用while循環(huán),34,for循環(huán)的語法和執(zhí)行順序,什么是for循環(huán),for( ; ; ) ; ,條件為true,循環(huán)體被執(zhí)行,for ( int i = 0 ; i 100 ; i+ ) System.out.println(我最棒); ,代碼規(guī)范:格式對齊、代碼

14、的縮進,表達式1,表達式2,表達式3,循環(huán)操作,參數(shù)初始化,條件判斷,更新循環(huán)變量,1,2,4,3,35,如何使用for循環(huán)3-1,1、循環(huán)錄入某學生的5門課成績,計算平均分,循環(huán)次數(shù):5 循環(huán)條件:循環(huán)的次數(shù)不足5,繼續(xù)循環(huán) 循環(huán)操作:錄入成績,計算成績之和,使用for循環(huán)結(jié)構(gòu)的步驟 1、分析循環(huán)條件和循環(huán)操作 2、套用for語法寫出代碼 3、檢查循環(huán)是否能夠退出,結(jié)合問題1,36,如何使用for循環(huán)3-2,/省略聲明變量 for(int i = 0; i 5; i+) /循環(huán)5次錄入5門課成績 System.out.print(請輸入5門功課中第 + (i+1) + 門課的成績: ); s

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

16、環(huán)條件:i=輸入值 3、循環(huán)操作:計算i+j 4、循環(huán)變量的改變:i+,j-,完整代碼,表達式3可以是用“,”隔開的多 個表達式,運算順序從左到右,表達式1中可以聲明多個同一 類型的值并賦值,用“,”隔開,演示示例2:使用for循環(huán)結(jié)構(gòu),38,for循環(huán)常見問題4-1,for(;i10;i+) System.out.println(這是 +i); ,int i=0;,編譯錯誤: 變量 i 沒有初始化,for( ; ; ) ; ,不能省略,可省略,表達式1省略,循環(huán)變量 的初始值在for語句之前 由賦值語句取得,39,for循環(huán)常見問題4-2,for(int i=0;i+) System.out

17、.println(這是 +i); ,編譯正確,但是缺少 循環(huán)條件,造成死循環(huán),40,for循環(huán)常見問題4-3,for(int i=0;i10;) System.out.println(這是 +i); ,i+;,省略表達式3,在循環(huán)體內(nèi)應設法改 變循環(huán)變量的值以結(jié)束循環(huán),編譯通過,但是循環(huán)變量的值無變化,造成死循環(huán),41,for循環(huán)常見問題4-4,for(;) System.out.println(這是測試); ,表達式全省略,無條件判斷,循環(huán)變量無改變, 應在循環(huán)體內(nèi)設法結(jié)束循環(huán),否則會造成死循環(huán),死循環(huán),42,小結(jié)1,求1100之間不能被3整除的數(shù)之和 (使用for循環(huán)結(jié)構(gòu)),參考代碼,43

18、,為什么需要break語句,int i = 2; switch(i) case 1: System.out.println(星期一); break; case 2: System.out.println(星期二); break; /其他語句,遇到break,立即跳出switch語句,回顧break用于switch語句,描述4000米長跑比賽,for (int i = 0; i10; i+) 跑400米; ,if(不能堅持) break; /退出比賽 ,第8圈, 快累死了 我要退出,44,什么是break語句,break:改變程序控制流 用于do-while、while、for中時,可跳出循環(huán)而

19、執(zhí)行循環(huán)后面的語句,while() break; ,跳出整個循環(huán),break通常在循環(huán)中與條件語句一起使用,45,如何使用break語句2-1,3、循環(huán)錄入某學生5門課的成績并計算平均分,如果某分數(shù)錄入為負,停止錄入并提示錄入錯誤,循環(huán)錄入成績,判斷錄入正確性:錄入錯誤,使用break語句立刻跳出循環(huán);否則,累加求和,演示示例3:使用break語句,46,如何使用break語句2-2, for(int i = 0; i 5; i+) /循環(huán)5次錄入5門課成績 System.out.print(請輸入5門功課中第 + (i+1) + 門課的成績: ); score = input.nextInt

20、(); /從控制臺接收數(shù)據(jù) if(score 0) wrong = false; /出錯標識 break; /退出循環(huán) sum = sum + score; 循環(huán)外的語句,對錄入的分數(shù)進行判斷,如果小于0,標記出錯狀態(tài),并立即跳出整個for循環(huán),問題3 完整代碼演示,47,110之間的整數(shù)相加,得到累加值大于20的當前數(shù),1、使用循環(huán)進行累加,從1到10 2、判斷累加值是否大于20 3、如果大于20,則跳出循環(huán),并打印當前值,/定義一個變量,進行累加 int sum=0; for(int i=1;i 20 ) System.out.print(當前數(shù)是:+i); break; ,參考代碼,小結(jié)

21、2,演示運行效果,48,什么是continue語句,continue :只能用在循環(huán)里 continue 作用:跳過循環(huán)體中剩余的語句而執(zhí)行下一次循環(huán),while() continue; ,繼續(xù)下一次循環(huán),通常與條件語句一起使用,加速循環(huán),for(int i = 0; i10;i+) 跑400米; if(!口渴) continue; /不喝水,繼續(xù)跑 接過水壺,喝水; ,示例,49,為什么需要continue語句,4、循環(huán)錄入Java課的學生成績,統(tǒng)計分數(shù)大于等于 80分的學生比例,1、通過循環(huán),獲得分數(shù)大于等于80分的學生人數(shù)num 2、判斷:如果成績80,不執(zhí)行num+,直接進入下一次循環(huán)

22、,50,如何使用continue,for(int i = 0; i total; i+) System.out.print(請輸入第 + (i+1) + 位學生的成績: ); score = input.nextInt(); if(score 80) continue; num+; /大于等于80分的人數(shù) double rate = (double) num / total * 100; System.out.println(80分以上的學生所占的比例為:+ rate + %);,對錄入的分數(shù)進行判斷,如果小于80,跳出本次循環(huán),執(zhí)行下一次循環(huán),問題4 完整代碼,51,1、使用循環(huán)進行累加,循

23、環(huán)的范圍是從1至10 2 、判斷當前數(shù)是否為偶數(shù) 3 、如果為奇數(shù)跳過,執(zhí)行下一個循環(huán),如果為偶數(shù),進行累加,int sum=0; /定義一個變量,進行累加 for(int i=1;i=10;i+) if( i % 2 = 1) continue; /如果i為奇數(shù),結(jié)束本次循環(huán),進行下一次循環(huán) sum=sum+i; System.out.print(1-10之間的偶數(shù)和是:+sum);,小結(jié)3,求110之間的所有偶數(shù)和,完整代碼,演示運行效果,52,1、使用循環(huán)進行累加,循環(huán)的范圍是從1至10 2 、判斷當前數(shù)是否為偶數(shù) 3 、如果為奇數(shù)跳過,執(zhí)行下一個循環(huán),如果為偶數(shù),進行累加,while(

24、true) System.out.print(“請輸入密碼:”); int mima=in.nextInt(); if( mima!=123456) continue; /如果密碼不是123456,結(jié)束本次循環(huán),進行下一次循環(huán) break; System.out.println(“密碼正確!”);,小結(jié)3,編程完成輸入密碼程序段。要求:密碼為123456,輸入不對繼續(xù)輸入直到輸入正確為止,演示運行效果,53,對比break和continue,對比方法:通過Eclipse單步運行,觀察 程序執(zhí)行順序 變量值的變化 觀察案例 案例1:110之間的整數(shù)相加,得到累加值大于20的當前數(shù) 案例2:求110之間的所有偶數(shù)和,54,對比break和continue,使用場合: break可用于switch結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中 continue只能用于循環(huán)結(jié)構(gòu)中 作用(循環(huán)結(jié)構(gòu)中) break語句終止某個循環(huán),程序跳轉(zhuǎn)到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論