版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、能力目標(biāo):能力目標(biāo):n學(xué)會(huì)使用學(xué)會(huì)使用for、while和和do-while循環(huán)語(yǔ)句,理解遞歸循環(huán)語(yǔ)句,理解遞歸調(diào)用方法。調(diào)用方法。n學(xué)會(huì)使用加賦值、乘賦值等復(fù)合賦值運(yùn)算符。學(xué)會(huì)使用加賦值、乘賦值等復(fù)合賦值運(yùn)算符。n能運(yùn)用循環(huán)結(jié)構(gòu)編寫(xiě)計(jì)算累加、階乘以及乘法表等應(yīng)能運(yùn)用循環(huán)結(jié)構(gòu)編寫(xiě)計(jì)算累加、階乘以及乘法表等應(yīng)用程序。用程序。1/n5.1 任務(wù)預(yù)覽任務(wù)預(yù)覽n5.2 while語(yǔ)句語(yǔ)句n5.3 復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符n5.4 for語(yǔ)句語(yǔ)句n5.5 遞歸調(diào)用方法遞歸調(diào)用方法n5.6 do-while語(yǔ)句語(yǔ)句n5.7 break和和continue語(yǔ)句語(yǔ)句n5.8 多重循環(huán)多重循環(huán)n5.9 本章
2、小結(jié)本章小結(jié)n5.10 實(shí)訓(xùn)實(shí)訓(xùn)5:累加、階乘與乘法表:累加、階乘與乘法表2/n本章實(shí)訓(xùn)程序運(yùn)行結(jié)果:本章實(shí)訓(xùn)程序運(yùn)行結(jié)果: 3/ 4/ 5/n循環(huán)語(yǔ)句有循環(huán)語(yǔ)句有3個(gè):個(gè):while、for和和do-while。nwhile循環(huán)語(yǔ)句的語(yǔ)法形式如下:循環(huán)語(yǔ)句的語(yǔ)法形式如下:while ( 條件表達(dá)式條件表達(dá)式 ) 循環(huán)體循環(huán)體6while(0i100) right?while(0i & i100) if(0i & i100) /int sum = 0;int i = 1; while (i = 10 ) sum = sum + i; System.out.printf(1到到%
3、d的累的累加結(jié)果:加結(jié)果:%dn, i, sum); i+; System.out.printf(最后最后結(jié)果:結(jié)果:%d, sum);n算法描述:算法描述:(1)0 sum(2)1 i(3)當(dāng))當(dāng)i10時(shí),執(zhí)行下一時(shí),執(zhí)行下一步,否則跳轉(zhuǎn)到步驟(步,否則跳轉(zhuǎn)到步驟(8)(4)sum + i sum(5)輸出中間結(jié)果)輸出中間結(jié)果sum(6)i +1 i(7)轉(zhuǎn)回步驟()轉(zhuǎn)回步驟(3)(8)輸出最后結(jié)果)輸出最后結(jié)果sum。7/n復(fù)合賦值運(yùn)算符有:復(fù)合賦值運(yùn)算符有:+= -= *= /= %= &= |= = = =n如:如:sum += i 相當(dāng)于相當(dāng)于 sum = sum + i
4、n又如:又如:String str = We;str += are;str += students.;System.out.println(str);n執(zhí)行上述語(yǔ)句,將輸出:執(zhí)行上述語(yǔ)句,將輸出: We are students.8i+ i+=1i- - I-=1/nfor ( 變量初始化變量初始化; 條件表達(dá)式條件表達(dá)式; 循環(huán)變量更新循環(huán)變量更新 )循環(huán)體循環(huán)體nfor( ; ; ) nfor(int i=1, j = 10; i=j; i+, j-) 9/public class Example2 public static void main(String args) int sum
5、= 0; for (int i=1; i=10; i+) sum += i; /加賦值運(yùn)算加賦值運(yùn)算 System.out.printf(1到到%d的累加結(jié)果:的累加結(jié)果:%dn, i, sum); System.out.printf(最后結(jié)果:最后結(jié)果:%d, sum);10/public class Example3 public static void main(String args) int factorial = 1; for (int i=1; i=1; i-)factorial *= i; return factorial;public static void main(Str
6、ing args) System.out.printf(最后結(jié)果:最后結(jié)果:%d, calcFactorial(10); /調(diào)用階乘方法調(diào)用階乘方法12/n數(shù)學(xué)上用數(shù)學(xué)上用n!表示!表示n的階乘,數(shù)學(xué)公式如下:的階乘,數(shù)學(xué)公式如下: n! n(n-1)! (若(若n1) n! 1 (若(若n1)n【例例5-5】階乘程序階乘程序3:使用遞歸調(diào)用方法計(jì)算:使用遞歸調(diào)用方法計(jì)算10的階乘。的階乘。 public class Example5 static long calcFactorial(int n) /遞歸方法遞歸方法if (n1) return n * calcFactorial(n-1);
7、 /遞歸調(diào)用遞歸調(diào)用else return 1; public static void main(String args) System.out.printf(最后結(jié)果:最后結(jié)果:%d, calcFactorial(10); 13/n其中,其中,f(n) f(n-1) + f(n-2) (若(若n3) f(n) 1 (若(若n3)npublic class Example6 static int f(int n) /遞歸調(diào)用方法遞歸調(diào)用方法if (n=3) return f(n-1)+f(n-2); else return 1;public static void main(String ar
8、gs) System.out.printf(f(%d)%dn, 6, f(6);System.out.printf(f(%d)%dn, 7, f(7);System.out.printf(f(%d)%dn, 8, f(8);14如果不使用遞歸呢?如果不使用遞歸呢?/do 循環(huán)體循環(huán)體while ( 條件表達(dá)式條件表達(dá)式 );n【例例5-7】編程,使用編程,使用do循環(huán)語(yǔ)句計(jì)算循環(huán)語(yǔ)句計(jì)算1到到10的累加。的累加。public class Example7 public static void main(String args) int sum = 0; int i = 1; do sum +=
9、 i; System.out.printf(1到到%d的累加結(jié)果:的累加結(jié)果:%dn, i, sum); i+; while (i=10); System.out.printf(最后結(jié)果:最后結(jié)果:%d, sum);15/nbreak可跳出多分支語(yǔ)句可跳出多分支語(yǔ)句switch和循環(huán)語(yǔ)句。和循環(huán)語(yǔ)句。ncontinue只能用于循環(huán)語(yǔ)句,結(jié)束本輪、繼續(xù)下輪循環(huán)。只能用于循環(huán)語(yǔ)句,結(jié)束本輪、繼續(xù)下輪循環(huán)。 n【例例5-8】編程,求編程,求1到到10的累加,要求使用的累加,要求使用break和和continue語(yǔ)句。語(yǔ)句。 int sum = 0; int i = 1; while (true) s
10、um += i; System.out.printf(1到到%d的累加結(jié)果:的累加結(jié)果:%dn, i, sum); i+; if (i=10) continue; else break; System.out.printf(最后結(jié)果:最后結(jié)果:%d, sum);16/public class Example9 public static void main(String args) int square; for (int i=1; i300) break; System.out.printf(%d的平方:的平方:%dn, i, square); 17/n二重以上的循環(huán)就是多重循環(huán)。二重以上的
11、循環(huán)就是多重循環(huán)。n【例例5-10】編程,使用二重循環(huán),輸出編程,使用二重循環(huán),輸出8行行4列的表格。列的表格。public class Example10 public static void main(String args) for (int i=1; i=8; i+) /i 控制行控制行 for (int j=1; j=4; j+) /j 控制列控制列 System.out.printf(%d行行%d列列 , i, j); System.out.println(); /換行換行 18/public class Example11 public static void main(Stri
12、ng args) for (int i=1; i=9; i+) /i控制行控制行 for (int j=1; j=9; j+) /j控制列控制列 System.out.printf(%d%d=%2d , j, i, j*i); System.out.println(); /換行換行 19/n編寫(xiě)循環(huán)結(jié)構(gòu)主要使用循環(huán)語(yǔ)句。編寫(xiě)循環(huán)結(jié)構(gòu)主要使用循環(huán)語(yǔ)句。Java有有3個(gè)循環(huán)語(yǔ)句:個(gè)循環(huán)語(yǔ)句:while、for和和do-while。其中。其中for語(yǔ)句使用頻率最多。語(yǔ)句使用頻率最多。n一些遞歸形式的數(shù)學(xué)函數(shù)或公式,除了使用循環(huán)語(yǔ)句,也可一些遞歸形式的數(shù)學(xué)函數(shù)或公式,除了使用循環(huán)語(yǔ)句,也可以運(yùn)用遞歸調(diào)
13、用方法進(jìn)行編程。實(shí)質(zhì)上遞歸調(diào)用隱含了循環(huán)以運(yùn)用遞歸調(diào)用方法進(jìn)行編程。實(shí)質(zhì)上遞歸調(diào)用隱含了循環(huán)結(jié)構(gòu)。結(jié)構(gòu)。n復(fù)合賦值運(yùn)算符如加賦值、乘賦值等,這些運(yùn)算符把兩種運(yùn)復(fù)合賦值運(yùn)算符如加賦值、乘賦值等,這些運(yùn)算符把兩種運(yùn)算合并成一種,顯得非常簡(jiǎn)練。可在循環(huán)語(yǔ)句中使用加賦值算合并成一種,顯得非常簡(jiǎn)練??稍谘h(huán)語(yǔ)句中使用加賦值進(jìn)行累加運(yùn)算。進(jìn)行累加運(yùn)算。n使用使用break語(yǔ)句終止循環(huán)語(yǔ)句。語(yǔ)句終止循環(huán)語(yǔ)句。n要中止本次循環(huán)而繼續(xù)下一輪循環(huán),則使用要中止本次循環(huán)而繼續(xù)下一輪循環(huán),則使用continue語(yǔ)句。語(yǔ)句。n循環(huán)語(yǔ)句也可相互嵌套,形成多重循環(huán),如二重循環(huán)。循環(huán)語(yǔ)句也可相互嵌套,形成多重循環(huán),如二重循環(huán)。20/n(1)編寫(xiě)計(jì)算)編寫(xiě)計(jì)算1到到n的累加程序,要求程序運(yùn)行時(shí)輸入正整的累加程序,要求程序運(yùn)行時(shí)輸入正整數(shù)數(shù)n的值。的值。n(2)編程,計(jì)算)編程,計(jì)算n的階乘,要求運(yùn)行時(shí)輸入不超過(guò)的階乘,要求運(yùn)行時(shí)輸入不超過(guò)20的正的正整數(shù)整數(shù)n。n(3)編程,使用二重循環(huán),輸出下三角形狀的乘法表。)編程,使用二重循環(huán),輸出下三角形狀的乘法表。n(4)(選做)運(yùn)用遞歸調(diào)用編寫(xiě))(選做)運(yùn)用遞歸調(diào)用編寫(xiě)1到到n的累加方法(即的累加方法(即1到到n的累加,等于的累加,等于n加上加上1到到n-1的累加),并調(diào)用該方法計(jì)算的累加),并調(diào)用該方法計(jì)算100的累加。的累加。n(5)(選做)編程,使用循環(huán)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店掛賬協(xié)議1
- 2025年 國(guó)內(nèi)酒店預(yù)訂代理合同
- 2025公務(wù)員公共基礎(chǔ)知識(shí)考點(diǎn)解析合同法解釋
- 2025商品房抵工程款合同
- 二零二五年度農(nóng)村房屋修建與歷史文化保護(hù)合同
- 二零二五年度辦公室租賃合同模板:含企業(yè)可持續(xù)發(fā)展戰(zhàn)略咨詢3篇
- 2025年度農(nóng)村墓地使用權(quán)交易與墓地環(huán)境治理合同
- 2025年度杭州高新技術(shù)產(chǎn)業(yè)勞動(dòng)合同規(guī)范文本3篇
- 2025年度新能源車(chē)輛銷(xiāo)售單方解除銷(xiāo)售合同3篇
- 二零二五年度競(jìng)業(yè)禁止精密機(jī)械租賃與安全培訓(xùn)合同2篇
- “以案促改”心得體會(huì)
- 2025屆高考語(yǔ)文復(fù)習(xí):散文的結(jié)構(gòu)與行文思路 課件
- 審計(jì)工作述職報(bào)告
- 安全事故現(xiàn)場(chǎng)處置方案(3篇)
- 中國(guó)通 用技術(shù)集團(tuán)招聘筆試題庫(kù)
- 【MOOC】工程材料學(xué)-華中科技大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 銀行貸款保證合同范本
- 《汽車(chē)膠粘劑》課件
- 手繪pop教學(xué)課件
- 2024腦血管病指南
- 企業(yè)三年?duì)I銷(xiāo)規(guī)劃
評(píng)論
0/150
提交評(píng)論