版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章累加與階乘——循環(huán)結(jié)構(gòu)能力目標(biāo):學(xué)會(huì)使用for、while和do-while循環(huán)語(yǔ)句,理解遞歸調(diào)用方法。學(xué)會(huì)使用加賦值、乘賦值等復(fù)合賦值運(yùn)算符。能運(yùn)用循環(huán)結(jié)構(gòu)編寫計(jì)算累加、階乘以及乘法表等應(yīng)用程序。1內(nèi)容介紹5.1任務(wù)預(yù)覽5.2while語(yǔ)句5.3復(fù)合賦值運(yùn)算符5.4for語(yǔ)句5.5遞歸調(diào)用方法5.6do-while語(yǔ)句5.7break和continue語(yǔ)句5.8多重循環(huán)5.9本章小結(jié)5.10實(shí)訓(xùn)5:累加、階乘與乘法表25.1任務(wù)預(yù)覽-1
本章實(shí)訓(xùn)程序運(yùn)行結(jié)果:
35.1任務(wù)預(yù)覽-2
45.1任務(wù)預(yù)覽-3
55.2while語(yǔ)句循環(huán)語(yǔ)句有3個(gè):while、for和do-while。while循環(huán)語(yǔ)句的語(yǔ)法形式如下:while(條件表達(dá)式)
循環(huán)體6while(0<i<100){}right?while(0<i&&i<100){}if(0<i&&i<100){}【例5-1】編程,計(jì)算1到10的累加,
即1+2+3+…+10?!?intsum=0; inti=1; while(i<=10){
sum=sum+i; System.out.printf("1到%d的累加結(jié)果:%d\n",i,sum); i++; } System.out.printf("最后結(jié)果:%d",sum);…算法描述:(1)0?sum(2)1?i(3)當(dāng)i≤10時(shí),執(zhí)行下一步,否則跳轉(zhuǎn)到步驟(8)(4)sum+i?sum(5)輸出中間結(jié)果sum(6)i+1?i(7)轉(zhuǎn)回步驟(3)(8)輸出最后結(jié)果sum。75.3復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符有:
+=-=*=/=%=&=|=^= <<=>>=>>>=如:sum+=i相當(dāng)于sum=sum+i又如:
Stringstr="We"; str+="are"; str+="students."; System.out.println(str);執(zhí)行上述語(yǔ)句,將輸出:Wearestudents.8i++
<=>i+=1i--
<=>I-=15.4for語(yǔ)句for(變量初始化;條件表達(dá)式;循環(huán)變量更新)循環(huán)體for(;;){…}for(inti=1,j=10;i<=j;i++,j--){…}9【例5-2】編程,使用for語(yǔ)句計(jì)算1到10的累加。publicclassExample2{ publicstaticvoidmain(String[]args){ intsum=0; for(inti=1;i<=10;i++){ sum+=i;//加賦值運(yùn)算
System.out.printf("1到%d的累加結(jié)果:%d\n",i,sum); } System.out.printf("最后結(jié)果:%d",sum); }}10【例5-3】階乘程序1:使用for循環(huán)語(yǔ)句計(jì)算10的階乘。publicclassExample3{ publicstaticvoidmain(String[]args){intfactorial=1; for(inti=1;i<=10;i++){ factorial*=i;//乘賦值運(yùn)算
System.out.printf("%d的階乘:%d\n",i,factorial); } System.out.printf("最后結(jié)果:%d",factorial); }}11long,int【例5-4】階乘程序2:使用方法調(diào)用計(jì)算10的階乘。publicclassExample4{
staticlongcalcFactorial(intn){//計(jì)算n的階乘方法
longfactorial=1; for(inti=n;i>=1;i--){ factorial*=i; } returnfactorial; }
publicstaticvoidmain(String[]args){ System.out.printf("最后結(jié)果:%d",calcFactorial(10)); //調(diào)用階乘方法
}}125.5遞歸調(diào)用方法數(shù)學(xué)上用n!表示n的階乘,數(shù)學(xué)公式如下:
n?。絥×(n-1)?。ㄈ鬾>1)
n?。?(若n=1)【例5-5】階乘程序3:使用遞歸調(diào)用方法計(jì)算10的階乘。
publicclassExample5{ staticlongcalcFactorial(intn){//遞歸方法
if(n>1){returnn*calcFactorial(n-1);}//遞歸調(diào)用
else{return1;} } publicstaticvoidmain(String[]args){ System.out.printf("最后結(jié)果:%d",calcFactorial(10)); }}13【例5-6】使用遞歸調(diào)用編寫計(jì)算f(n)的方法,并調(diào)用方法計(jì)算f(6)、f(7)、f(8)的值。其中,f(n)=f(n-1)+f(n-2)(若n≥3)
f(n)=1(若n<3)publicclassExample6{ staticintf(intn){//遞歸調(diào)用方法
if(n>=3){returnf(n-1)+f(n-2);} else{return1;} } publicstaticvoidmain(String[]args){ System.out.printf("f(%d)=%d\n",6,f(6)); System.out.printf("f(%d)=%d\n",7,f(7)); System.out.printf("f(%d)=%d\n",8,f(8)); }}14如果不使用遞歸呢?5.6do-while語(yǔ)句do
循環(huán)體while(條件表達(dá)式);【例5-7】編程,使用do循環(huán)語(yǔ)句計(jì)算1到10的累加。publicclassExample7{ publicstaticvoidmain(String[]args){ intsum=0; inti=1; do{ sum+=i; System.out.printf("1到%d的累加結(jié)果:%d\n",i,sum); i++; }while(i<=10); System.out.printf("最后結(jié)果:%d",sum); }155.7break和continue語(yǔ)句break可跳出多分支語(yǔ)句switch和循環(huán)語(yǔ)句。continue只能用于循環(huán)語(yǔ)句,結(jié)束本輪、繼續(xù)下輪循環(huán)。【例5-8】編程,求1到10的累加,要求使用break和continue語(yǔ)句。… intsum=0; inti=1; while(true){ sum+=i; System.out.printf("1到%d的累加結(jié)果:%d\n",i,sum); i++; if(i<=10){continue;} else{break;} } System.out.printf("最后結(jié)果:%d",sum);…16【例5-9】編程,計(jì)算1到20中除5、15以外的所有奇數(shù)的平方,但若平方值超過300,則終止。publicclassExample9{ publicstaticvoidmain(String[]args){ intsquare; for(inti=1;i<=20;i+=2){ if(i==5||i==15){continue;} square=i*i; if(square>300){break;} System.out.printf("%d的平方:%d\n",i,square); } }}175.8多重循環(huán)二重以上的循環(huán)就是多重循環(huán)?!纠?-10】編程,使用二重循環(huán),輸出8行4列的表格。publicclassExample10{ publicstaticvoidmain(String[]args){ for(inti=1;i<=8;i++){//i控制行
for(intj=1;j<=4;j++){//j控制列
System.out.printf("%d行%d列",i,j); } System.out.println();//換行
} }}18【例5-11】編程,使用二重循環(huán),計(jì)算并輸出乘法表。publicclassExample11{ publicstaticvoidmain(String[]args){ for(inti=1;i<=9;i++){//i控制行
for(intj=1;j<=9;j++){//j控制列
System.out.printf("%d×%d=%2d",j,i,j*i); } System.out.println();//換行
} }}195.9本章小結(jié)編寫循環(huán)結(jié)構(gòu)主要使用循環(huán)語(yǔ)句。Java有3個(gè)循環(huán)語(yǔ)句:while、for和do-while。其中for語(yǔ)句使用頻率最多。一些遞歸形式的數(shù)學(xué)函數(shù)或公式,除了使用循環(huán)語(yǔ)句,也可以運(yùn)用遞歸調(diào)用方法進(jìn)行編程。實(shí)質(zhì)上遞歸調(diào)用隱含了循環(huán)結(jié)構(gòu)。復(fù)合賦值運(yùn)算符如加賦值、乘賦值等,這些運(yùn)算符把兩種運(yùn)算合并成一種,顯得非常簡(jiǎn)練。可在循環(huán)語(yǔ)句中使用加賦值進(jìn)行累加運(yùn)算。使用break語(yǔ)句終止循環(huán)語(yǔ)句。要中止本次循環(huán)而繼續(xù)下一輪循環(huán),則使用continue語(yǔ)句。循環(huán)語(yǔ)句也可相互嵌套,形成多重循環(huán),如二重循環(huán)。205.10實(shí)訓(xùn)5:累加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化創(chuàng)意技術(shù)合作合同匯編
- 工作室合伙合同書模板
- 設(shè)備租賃和購(gòu)買合同模板
- 2024年讓與擔(dān)保合同范本
- 商品住宅購(gòu)銷合同
- 個(gè)人債務(wù)轉(zhuǎn)讓協(xié)議書撰寫指南
- 房產(chǎn)二次抵押借款合同
- 房地產(chǎn)中介服務(wù)協(xié)議書正規(guī)范本2024年
- 債權(quán)轉(zhuǎn)讓協(xié)議合同
- 新型能源供電協(xié)議書
- 河南國(guó)有資本運(yùn)營(yíng)集團(tuán)有限公司招聘筆試題庫(kù)2024
- 《烏魯木齊市國(guó)土空間總體規(guī)劃(2021-2035年)》
- 無人機(jī)應(yīng)用技術(shù)專業(yè)申報(bào)表
- 2024年巴黎奧運(yùn)會(huì)及奧運(yùn)會(huì)知識(shí)宣講課件
- 投標(biāo)優(yōu)惠條件承諾書
- 精通版五年級(jí)英語(yǔ)上冊(cè)Unit4單元測(cè)試卷(含聽力材料及答案)
- 顧客皮膚分析護(hù)理檔案表
- 中俄跨界水體水質(zhì)聯(lián)合監(jiān)測(cè)方案
- 秋季宜賓東辰國(guó)際學(xué)校小升初超越杯數(shù)學(xué)試題(含參考答案)
- 老撾的建筑文化
- 臨床營(yíng)養(yǎng)評(píng)價(jià)
評(píng)論
0/150
提交評(píng)論