第5章累加與階乘——循環(huán)結構_第1頁
第5章累加與階乘——循環(huán)結構_第2頁
第5章累加與階乘——循環(huán)結構_第3頁
第5章累加與階乘——循環(huán)結構_第4頁
第5章累加與階乘——循環(huán)結構_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、能力目標:能力目標:n學會使用學會使用for、while和和do-while循環(huán)語句,理解遞歸循環(huán)語句,理解遞歸調用方法。調用方法。n學會使用加賦值、乘賦值等復合賦值運算符。學會使用加賦值、乘賦值等復合賦值運算符。n能運用循環(huán)結構編寫計算累加、階乘以及乘法表等應能運用循環(huán)結構編寫計算累加、階乘以及乘法表等應用程序。用程序。1/n5.1 任務預覽任務預覽n5.2 while語句語句n5.3 復合賦值運算符復合賦值運算符n5.4 for語句語句n5.5 遞歸調用方法遞歸調用方法n5.6 do-while語句語句n5.7 break和和continue語句語句n5.8 多重循環(huán)多重循環(huán)n5.9 本章

2、小結本章小結n5.10 實訓實訓5:累加、階乘與乘法表:累加、階乘與乘法表2/n本章實訓程序運行結果:本章實訓程序運行結果: 3/ 4/ 5/n循環(huán)語句有循環(huán)語句有3個:個:while、for和和do-while。nwhile循環(huán)語句的語法形式如下:循環(huán)語句的語法形式如下:while ( 條件表達式條件表達式 ) 循環(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的累的累加結果:加結果:%dn, i, sum); i+; System.out.printf(最后最后結果:結果:%d, sum);n算法描述:算法描述:(1)0 sum(2)1 i(3)當)當i10時,執(zhí)行下一時,執(zhí)行下一步,否則跳轉到步驟(步,否則跳轉到步驟(8)(4)sum + i sum(5)輸出中間結果)輸出中間結果sum(6)i +1 i(7)轉回步驟()轉回步驟(3)(8)輸出最后結果)輸出最后結果sum。7/n復合賦值運算符有:復合賦值運算符有:+= -= *= /= %= &= |= = = =n如:如:sum += i 相當于相當于 sum = sum + i

4、n又如:又如:String str = We;str += are;str += students.;System.out.println(str);n執(zhí)行上述語句,將輸出:執(zhí)行上述語句,將輸出: We are students.8i+ i+=1i- - I-=1/nfor ( 變量初始化變量初始化; 條件表達式條件表達式; 循環(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; /加賦值運算加賦值運算 System.out.printf(1到到%d的累加結果:的累加結果:%dn, i, sum); System.out.printf(最后結果:最后結果:%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(最后結果:最后結果:%d, calcFactorial(10); /調用階乘方法調用階乘方法12/n數(shù)學上用數(shù)學上用n!表示!表示n的階乘,數(shù)學公式如下:的階乘,數(shù)學公式如下: n! n(n-1)! (若(若n1) n! 1 (若(若n1)n【例例5-5】階乘程序階乘程序3:使用遞歸調用方法計算:使用遞歸調用方法計算10的階乘。的階乘。 public class Example5 static long calcFactorial(int n) /遞歸方法遞歸方法if (n1) return n * calcFactorial(n-1);

7、 /遞歸調用遞歸調用else return 1; public static void main(String args) System.out.printf(最后結果:最后結果:%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) /遞歸調用方法遞歸調用方法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 ( 條件表達式條件表達式 );n【例例5-7】編程,使用編程,使用do循環(huán)語句計算循環(huán)語句計算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的累加結果:的累加結果:%dn, i, sum); i+; while (i=10); System.out.printf(最后結果:最后結果:%d, sum);15/nbreak可跳出多分支語句可跳出多分支語句switch和循環(huán)語句。和循環(huán)語句。ncontinue只能用于循環(huán)語句,結束本輪、繼續(xù)下輪循環(huán)。只能用于循環(huán)語句,結束本輪、繼續(xù)下輪循環(huán)。 n【例例5-8】編程,求編程,求1到到10的累加,要求使用的累加,要求使用break和和continue語句。語句。 int sum = 0; int i = 1; while (true) s

10、um += i; System.out.printf(1到到%d的累加結果:的累加結果:%dn, i, sum); i+; if (i=10) continue; else break; System.out.printf(最后結果:最后結果:%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編寫循環(huán)結構主要使用循環(huán)語句。編寫循環(huán)結構主要使用循環(huán)語句。Java有有3個循環(huán)語句:個循環(huán)語句:while、for和和do-while。其中。其中for語句使用頻率最多。語句使用頻率最多。n一些遞歸形式的數(shù)學函數(shù)或公式,除了使用循環(huán)語句,也可一些遞歸形式的數(shù)學函數(shù)或公式,除了使用循環(huán)語句,也可以運用遞歸調

13、用方法進行編程。實質上遞歸調用隱含了循環(huán)以運用遞歸調用方法進行編程。實質上遞歸調用隱含了循環(huán)結構。結構。n復合賦值運算符如加賦值、乘賦值等,這些運算符把兩種運復合賦值運算符如加賦值、乘賦值等,這些運算符把兩種運算合并成一種,顯得非常簡練??稍谘h(huán)語句中使用加賦值算合并成一種,顯得非常簡練??稍谘h(huán)語句中使用加賦值進行累加運算。進行累加運算。n使用使用break語句終止循環(huán)語句。語句終止循環(huán)語句。n要中止本次循環(huán)而繼續(xù)下一輪循環(huán),則使用要中止本次循環(huán)而繼續(xù)下一輪循環(huán),則使用continue語句。語句。n循環(huán)語句也可相互嵌套,形成多重循環(huán),如二重循環(huán)。循環(huán)語句也可相互嵌套,形成多重循環(huán),如二重循環(huán)。20/n(1)編寫計算)編寫計算1到到n的累加程序,要求程序運行時輸入正整的累加程序,要求程序運行時輸入正整數(shù)數(shù)n的值。的值。n(2)編程,計算)編程,計算n的階乘,要求運行時輸入不超過的階乘,要求運行時輸入不超過20的正的正整數(shù)整數(shù)n。n(3)編程,使用二重循環(huán),輸出

溫馨提示

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

評論

0/150

提交評論