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頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

8

回顧

假設(shè)

1.)weekOfMonth=2

day=7

?分別寫出運行結(jié)果

switch(day){▼

case1:香蕉餐

System.outprintln("法國大餐");

break;

case2:

case4:

System.out.println("滿漢全席”);

break;

case7:

if(weekOfMonth==1){

System.out.println("蘋果餐”);

}else{

System.outprintln(“香蕉餐”);

break;

}y

本章目標(biāo)

理解循環(huán)的含義

會使用while循環(huán)結(jié)構(gòu)

會使用do-while循環(huán)結(jié)構(gòu)

會使用f?!秆h(huán)結(jié)構(gòu)

會使用調(diào)試解決簡單的程序錯誤

3

為什么需要循環(huán)2-1

1、盈盈為了考驗令狐沖奪冠的決心,要他說一百

“我能行!”演示完整代碼

<2簿止〉HelloAccpl[Java應(yīng)用程序]C\Frot

■哦I國£81吆手?

第92遍說:我能行!Zl

第93遍說:我能行!

「System.out.println("第1次說:我能行!”);第94遍說:我能行!

第95遍說:我能行!

第遍說:我能行

,96?

System.out.println("第2次說:我能行!');第97遍說:我能行?

100條Y第98遍說:我能行!

第99遍說:我能行?

[第1"遍說:我能行!

b_____________」;;;一對

LSystem.outprintln(“第100次說:我能行!,');

盈盈要他說10000遍“我是最棒的!",怎么辦?

4

為什么需要循環(huán)2-2

沒有使用循環(huán)結(jié)構(gòu)使用while循環(huán)

System.out.println("我是最棒的!)

”我是最棒的!

System.outprintlnj)while(j<=10000)

我是最棒的!

System.out.printlni”)

System.out.println,"我是最棒的!)System.outprintln(

我是最棒的!

System.out.printlnj””我是最棒的!”);

System.out.println,"我是最棒的!)

i++;

System.out.println(“我是最棒的!");Jy}

完整代碼1完整代碼2

5

什么是循環(huán)

?生活中的循環(huán)

打印50份試卷10000米賽跑鍥而不舍地學(xué)習(xí)旋轉(zhuǎn)的車輪

?循環(huán)結(jié)構(gòu)的特點

6

什么是while循環(huán)

符合條件,循環(huán)繼續(xù)執(zhí)

行;否則,循環(huán)退出

y

(while(循環(huán)條件){

while(Ii<=301)(

循環(huán)操作

System.outprintln(“我能行!");

)循環(huán)中被重復(fù)i++;

執(zhí)行的操作

_____________2

循環(huán)條件J

金拄點:先判斷,再執(zhí)行循環(huán)操作

編碼規(guī)范:縮進(jìn)、換行

7

怎樣使用while循環(huán)3」

3、如何用程序描述下面這個故事呢?

⑨使用while循環(huán)的步驟

1、分析循環(huán)條件和循環(huán)操作

2、套用while語法寫出代碼

循環(huán)是否能夠退出

8

怎樣使用while循環(huán)3-2

比較兩個String類型

(System.out.printf的值是否相等

answer=input.next();

循環(huán)操作

System.out.println("早上5點開始練聲!”);

System.out.println,'上午練習(xí)鋼琴!”);

System.out.println,”下午到聲樂老師家練習(xí)唱歌!”);

System.out.println("晚上練習(xí)舞蹈基本功巧;

System.out.print("表演得怎樣?(y/n):");

answer=input.next();

)

System.out.println("圓滿完成!”);

演示示例3:使用while循環(huán)結(jié)構(gòu)

怎樣使用while循環(huán)3-3

4、錄入班級人數(shù)和學(xué)員成績,計算班Z

0o

1的平均成績終止〉HelloAccp5[Java應(yīng)用程序]C\Progr€

while(i<=stuNum){

System.out.print(“請輸入學(xué)號”+i+”的成績:”);

score=input.nextlnt();

sum=sum+score;

i++;

}

avg=sum/stuNum;

ZI

演示示例4:使用while循環(huán)結(jié)構(gòu)

10

while循環(huán)常見問題3-1

循環(huán)一直執(zhí)行,不會退

出,哪里出錯了?

問題U屈亞MX_____

己蛉止HelloAccp6[Java應(yīng)用程序]C\Frc

*乘I&氈IE奧?松

〃打印4次“歡迎ACCP學(xué)員”*/漱迎ACCP學(xué)員

publicstaticvoidmain(String[]args){歡迎ACCP學(xué)員

漱迎ACCP學(xué)員

inti=0;兩迎ACCP學(xué)員

歡迎ACCP學(xué)員

while(i<4){歡迎ACCP學(xué)員

System.out.println("歡迎ACCP學(xué)員”);歡迎MCP學(xué)員

漱迎ACCP學(xué)員

i++;漱迎ACCP學(xué)員

漱迎ACCP學(xué)員

}:歡迎ACCP學(xué)員

歡迎ACCP學(xué)員

漱迎ACCP學(xué)員

歡迎ACCP學(xué)員

雙迎ACCP學(xué)員

呼R

永遠(yuǎn)都不會退出的循環(huán)稱為死循環(huán)

while循環(huán)常見問題3-2

只打印了三次,

L哪里出錯了?

A

問題目控制吾k-

/*打印4次“歡迎ACCP學(xué)員”7口□

然止〉HelloAccpT[Java應(yīng)用程序]C:\Proi

publicstaticvoidmain(String[]args){?密IX砧I0里?門?

inti=1;r炊迎ACCP學(xué)員

while(i<=4伙歡迎ACCP學(xué)員

歡迎ACCP學(xué)員

System.outprintln("歡迎ACCP學(xué)員”);

i++;

)

______________________________________

while循環(huán)常見問題3-3

一次都沒有打印,

哪里出錯了?

/*打印4次“歡迎ACCP學(xué)員”*/

publicstaticvoidmain(String[]args){

inti=0:_

whilei<5

System.out.println("歡迎ACCP學(xué)員”);

i++;

J)

注意:如果一開始條件就不滿足,while循環(huán)一次都不執(zhí)行

13

小結(jié)1

2006年培養(yǎng)學(xué)員8萬人,每年增長

25%,請問按此增長速度,到哪一年

培訓(xùn)學(xué)員人數(shù)將達(dá)到20萬人?參考代碼

提示:

1、循環(huán)條件和循環(huán)操作分別是什么?

2、intyear=2006;

doublestudents=80000;

while...

3、2007年培訓(xùn)學(xué)員數(shù)量=80000*(1+0.25)

do-while循環(huán)

聞題5、如何用程序講述下面的故事?

苦練半年,眼看大寒在即,

盈盈提議:國排一次,如果很令人滿意,以后就不用彩排了,否則每天都要彩排

直到現(xiàn)場裝現(xiàn)讓她滿意為止!

他能否用動聽的歌聲震撼盈盈,用美妙的鋼琴聲博得贊賞呢?

while(W^ftKdo{

while循環(huán)先判斷,再執(zhí)行

循環(huán)操作彳弓不適合描述此故事循環(huán)操作

(}while(循環(huán)條件);

15

磅什么是do-while循環(huán)

先執(zhí)行一遍循環(huán)操作

do{

循環(huán)操作

循環(huán)操作

[while(循環(huán)條件);J循環(huán)條件

符合條件,循環(huán)繼續(xù)執(zhí)行;假

否則,循環(huán)退出

y

。特點:先執(zhí)行,再判斷

乍樣使用do-whilc循環(huán)2-1

演示示例5:使用do-while循環(huán)結(jié)構(gòu)

怎樣使用do-while循環(huán)2-2個

3、連續(xù)錄入學(xué)生姓名,輸入“q”則系會

詛中

Stringname;

Scannerinput=newScanner(System.in);

do{

System.out.print(“請輸入學(xué)生姓名:”);

name=input.next();

}while(!name.equals("q"));

System.out.println("程序結(jié)束");

演示示例6:使用do-while循環(huán)結(jié)構(gòu)

比較while和do-while

?while循環(huán)和do-while循環(huán)的區(qū)別

;語法不同

先執(zhí)行,再判斷

「while(循環(huán)條件){do{

循環(huán)操作循環(huán)操作

/--------------------------------

先判斷,再執(zhí)行[}while(循環(huán)條件);J

-初始情況不滿足循環(huán)條件時

?while循環(huán)一次都不會執(zhí)行

do-whi怙循環(huán)不管任何情況都至少執(zhí)行一次

19

小結(jié)2

使用do-while實現(xiàn):輸出攝氏溫度與華j

氏溫度的對照表,要求它從攝氏溫度0/

度到250度,每隔20度為一項,對照表\

中的條目不超過10條。參考代碼r

轉(zhuǎn)換關(guān)系:華氏溫度二攝氏溫度*9/)

5.0+32r

A\

提示:J

1、循環(huán)操作:計算攝氏溫度,并輸出對照條目I

i------2、循環(huán)條件:條目V=1O&&攝氏溫度<=250\

20

為什么使用for循環(huán)2-1

?回顧問題1:令狐沖說一百遍J“我最棒”

?向麻問題2:根據(jù)應(yīng)和成績,計算平

更優(yōu)解決:for循環(huán)結(jié)構(gòu)

21

為什么使用for循環(huán)2-2

while循環(huán)結(jié)構(gòu)foi?循環(huán)結(jié)構(gòu)

inti=0;for(inti=0;i<100;i++){

while(i<100){System.out.printin(“我最棒,

System.outprintln("我最棒”);)

i++;

)

for比while更簡潔

22

什么是f?!秆h(huán)

for循環(huán)的語法和執(zhí)行順序

A條件為true

for條件判斷;[更新循環(huán)變量){

1I"■

o循環(huán)操作;[循環(huán)體被執(zhí)行

}

23

如何使用for循環(huán)3-1&

2題循環(huán)錄入某學(xué)員S1的5門課成績,計算工A

HelloAccp3[Java應(yīng)用程序]C:\Proyr?n

麻元學(xué)生姓名:桐過

請輸入5門功課中第1門課的成69

請輸入5門功課中第2門課的成績:-

清輸入5門功課中第3門課的成績:76

請輸入5門功課中第4門課的成績:

請輸入5門功課中第5門課的成績:

斷過的平均分是:87

?使用for循環(huán)結(jié)構(gòu)的步驟

循環(huán)次數(shù):5

1、分析循環(huán)條件和靄■您循環(huán)條件:循環(huán)的次數(shù)不足

5,繼續(xù)循環(huán)

2、套用for語法寫魔滑’循環(huán)操作:錄入成績,計算

成績之和

MA檢查循環(huán)是否能夠退出

24

如何使用for循環(huán)3-2

完整代碼初始值:i=0

循環(huán)條件:i<5、

〃省略聲明變量循環(huán)變量改變:i++〔

for(inti=0;i<5;i++){〃循環(huán)5次錄入5門課成績

System.out.print(“請輸入5門功課中第”+(i+1)+”門課的成績:");

score=input.nextlnt();

sum=sum+score;

)

1___________________________________________循環(huán)操作執(zhí)行5次J

avg=sum/5;〃計算平均分

System.out.println(name+”的平均分是:"+avg);

演示示例1:使用for循環(huán)結(jié)構(gòu)

25

如何使用for循環(huán)3-3

后控制臺漢

<2終止〉HelloAccp4[Java應(yīng)用程序]C:\ProgramFi:

2、輸出如圖所示加法■—I3飛IE里?門,

;請輸入一個值:,,

表完整代碼根據(jù)這個值可以輸出以下加法表:

1、循環(huán)初始化:i=0;j=輸入值

2、循環(huán)條件:iv=輸入值

3、循環(huán)操作:計算i+j

4、循環(huán)變量的改變:i++,j-

表達(dá)式3可以是用“,”隔開的多

個表達(dá)式,運算順序從左到右

\____*_____,________________________________________)

for(inti=0,j=vali<=val;i++,j-)(

System.out.prt^"="+(i+j));

表達(dá)式1中可以聲明多個同一

一必尹|||114/古開(;1言/古m“,,nsm-

演示示例2:使用for循環(huán)結(jié)構(gòu)

26

for循環(huán)常見問題4-1

編譯錯誤:

“變量i沒有初始化

______________________________________________________________________

mti=o;

for(;i<10;i++){

System.outprintln("這是*'+i);

表達(dá)式1省略,循環(huán)變量

的初始值在for語句之前

由賦值語句取得

for(v初始化循環(huán)變量〉@修改循環(huán)變量的值》){

b_〈_循環(huán)體語句〉;不能省略1

、for循環(huán)常見問題4-2

V編譯正確,但是缺少

/循環(huán)條件,造成死循環(huán)

for(inti=0;;i++){

System.out.println("這是"+i);

28

for循環(huán)常見問題4-3

編譯通過,但是循環(huán)變量的

值無變化,造成死循環(huán)

y

for(inti=0;i<10;){

System.out.println("這是H+i);

省略表達(dá)式3,在循環(huán)體內(nèi)應(yīng)設(shè)法改

變循環(huán)變量的值以結(jié)束循環(huán)

29

for循環(huán)常見問題4-4

代碼改

表達(dá)式全省略,無條件判斷,循環(huán)變量無改變,

應(yīng)在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán),否則會造成死循環(huán)

for(;;){

System.out.println("這是測試");

12

死循環(huán)

值控制臺瀉_____________■_X“母.「,口口'

(1)[Java應(yīng)甬混用]CVFicogrGFiles'Ski.G-0_01\bin\jav?f;£

-j

這是測試

:這是測試

這是測試

這是測試

這是測試

這是測試

門中早涮;寸

30

小結(jié)1

求人100之間不能被3整除的數(shù)之

和(使用for循環(huán)結(jié)構(gòu))參考代碼

31

為什么需要break語句

?回顧break用于switch語句「誓圈,一

快孚死了

■描述4000米長跑比賽I甜葬;艮山…

for(inti=0;i<10;i++){

跑400米;

if(不能堅持)(

break;〃退出比賽

DreaKTJS

遇到break,

〃其他語句

32

什么是break語句

?break:改變程序控制流

、for中時,

行夕底匚

/while(…){

break通常在循環(huán)中與

條件語句一起使用

break;

33

如何使用break語句2-1

中3、循環(huán)錄入某學(xué)生5門課的成績并計

平均分,如果某分?jǐn)?shù)錄△為女,停止錄、

入竹土曰.4三入左處淚羯

人并提示錄入錯誤〈己婢止〉HelloAccplO[Jwa應(yīng)用程序]C:\ProgramFiles\^

X%I3MlT里一」

輸入學(xué)生姓名:相封

請輸入5門功課中第1門課的成績:89

清輸入5門功課中第2門課的成績:67

請輸入5門功課中第3門課的成績:78

循環(huán)錄入成績,判斷錄入正確性:請輸入5門功課中第4門課的成績:-67

錄入錯誤,使用break語句立刻跳抱歉,分?jǐn)?shù)錄入錯誤,請重新進(jìn)行錄入?

出循環(huán);否則,累加求和

y

如何使用break語句2-2

問題3完整代碼演示

for(inti=0;i<5;i++){〃循環(huán)5次錄入5門課成績

System.outprint(”請輸入5門功課中第“+(i+1)+”門課的成績:”);

score=input.nextlnt();〃從控制臺接收數(shù)據(jù)

if(score<0){

wrong=false;〃出錯標(biāo)識

break;〃退出循環(huán)

}

sum=sum+score;對錄入的分?jǐn)?shù)進(jìn)行判斷,如

)果小于0,標(biāo)記出錯狀態(tài),并

…循環(huán)外的語句…立即跳出整個for循環(huán)

35

小結(jié)2

上io之間的整數(shù)相加,得到累加值大于

20的當(dāng)前數(shù)

個變量,進(jìn)行累加參考代碼

i=1;i<=10;i++){

sum=sum+i;

if(sum>20){

System.out.print("當(dāng)前數(shù)是:"+i);

break;

演示運行效果

36

為什么需要continue語句

54、循環(huán)錄入Java課的學(xué)生成績,

分?jǐn)?shù)大于等于80分的學(xué)生比例

3的包XDB

〈已終止:HelloAccpl1[Java應(yīng)用程序]C\ProgramFiles\Java\j

X:*|X選|w曰▼門,1、通過循環(huán),獲得分?jǐn)?shù)大

輸入班級總?cè)藬?shù):于等于80分的學(xué)生人數(shù)num

清輸入第1位學(xué)生的成績:,

請輸入第2位學(xué)生的成績:I

請輸入第3位學(xué)生的成績:-32、

溫馨提示

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

評論

0/150

提交評論