單元3 程序控制結構_第1頁
單元3 程序控制結構_第2頁
單元3 程序控制結構_第3頁
單元3 程序控制結構_第4頁
單元3 程序控制結構_第5頁
已閱讀5頁,還剩89頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單元3

Java控制結構順序結構選擇結構循環(huán)結構break和continue語句單元三Java控制結構Java控制結構是Java編程中的基本概念,是指在程序運行時,程序員通過控制程序的執(zhí)行流程來實現(xiàn)某種特定的功能。Java控制結構是程序員的必備技能,是走向Java世界的第一把鑰匙。本單元重點介紹Java控制結構,Java程序的控制結構有順序結構、選擇(分支)結構和循環(huán)結構,通過本單元的學習,讀者能夠熟練掌握Java控制語句格式和應用。本單元的學習目標如下。教學目標知識目標:技能目標:素養(yǎng)目標:掌握Java程序基本結構掌握Java的基本語法熟悉Java的基本語句能夠運用Java基本語法和語句完成任務實現(xiàn)能夠在Java程序中添加必須的注釋,提高程序的可讀性能夠獨立完成拓展任務保持飽滿的學習熱情懂得知識技能儲備的必要性教學目標知識目標:掌握Java執(zhí)行控制語句的分類掌握每一種執(zhí)行控制語句的功能、格式和應用熟悉跳轉語句的功能、格式和應用技能目標:能夠運用執(zhí)行控制語句完成任務實現(xiàn)能夠編寫具有良好可讀性、符合編碼規(guī)范的Java程序能夠獨立完成拓展任務素養(yǎng)目標:具備持之以恒的學習態(tài)度懂得互幫互助共同進步的理念3.1知識儲備–

順序結構3.1知識儲備計算機語言的程序控制結構是計算機之父——圖靈提出來的,他認為所有的程序,小到一個計算器,大到宇宙飛船,無論是多么復雜的程序,只需要用三種結構就可以將它設計出來,這三種結構被稱為三大基本結構,即順序、選擇(分支)和循環(huán)結構,其執(zhí)行原理如圖3-1所示。3.1.1順序結構順序結構是最常用的程序結構,也是最簡單的程序結構,它的執(zhí)行順序自上而下,依次執(zhí)行,順序結構執(zhí)行過程如圖3-2所示。語句1語句2……語句n圖3-2順序結構執(zhí)行過程3.1.1順序結構【例3-1】編寫一個程序,計算10+20的和,在控制臺輸出結果。定義整型變量x,y10=>x20=>y開始輸出:x+y的值結束通過流程圖分析案例執(zhí)行過程3.1.1順序結構【例3-1】編寫一個程序,計算10+20的和,在控制臺輸出結果。代碼實現(xiàn):publicclassSum{

publicstaticvoidmain(String[]args){

intx,y;

x=10;

y=20;

System.out.println(x+y);

}

}運行結果:提示:在定義變量的同時可以賦初值,即,intx=10,y=20;可以代替前3條語句。順序結構通常語句的先后順序不可改變,但在不影響運行結果的情況下也可以調整,例題中的變量x和y的賦值語句順序可以調換。3.1知識儲備–

選擇結構

if單分支if雙分支if多分支switch多分支3.1.2選擇結構我們在日常生活中,經常需要根據(jù)條件做出選擇,比如,一年一度的高考成績下來后,每位考生都會根據(jù)自己的興趣愛好以及近年來不同院校不同專業(yè)的分數(shù)段來確定報考志愿。程序也一樣,通過選擇結構來確定程序的執(zhí)行順序,選擇結構分為單分支選擇結構、雙分支選擇結構和多分支選擇結構三種。1.if單分支結構(1)一般格式

if(條件表達式){

語句塊;}3.1.2選擇結構(2)執(zhí)行過程if有三種形式,第一種形式為單分支選擇結構(簡稱單分支),當條件成立時,執(zhí)行if語句體,之后再執(zhí)行if后面的語句;當條件不成立時,跳過if語句塊,直接執(zhí)行if后面的語句。其執(zhí)行過程如圖3-17。條件表達式語句truefalse圖3-17單分支結構執(zhí)行過程3.1.2選擇結構(3)說明

條件表達式一般是邏輯表達式或者關系表達式,一定要用()括起來。

表達式后面不允許加分號,如果加分號,就意味著語句體為空語句。例如:if(條件表達式);{

語句塊;}

其中第一個分號將被看為條件表達式成立時要執(zhí)行的語句體(空語句),而其后的“語句”則無論條件表達式是否成立均將執(zhí)行。

如果if后的語句只有一條,大括號可以省略。例如:if(條件表達式)語句1;3.1.2選擇結構【例3-4】編寫一個程序,輸入兩個實數(shù),按值由小到大的次序輸出這兩個數(shù)。請輸入兩個整數(shù):圖3-18例3-4流程圖開始輸入x,y的值結束x>ytrue定義浮點型變量x,y,t輸出:x,y的值

falsex=>t;y=>x;t=>y通過流程圖分析案例執(zhí)行過程3.1.2選擇結構publicclassCompareNum1{

publicstaticvoidmain(String[]args){

floatx,y,t;

System.out.print("請輸入兩個數(shù):");

Scannersc=newScanner(System.in);

x=sc.nextFloat();

y=sc.nextFloat();

if(x>y){

t=x;x=y;y=t;

}

System.out.println("從小到大順序:"+x+","+y);

sc.close();

}

}【例3-4】代碼如下:運行結果:3.1.2選擇結構提示:在將兩個變量中數(shù)據(jù)交換時,需要使用中間變量,但切記每條語句的含義,若將if大括號內的代碼寫成:t=x;y=x;y=t;結果如圖3-12所示。

Scanner類需要導包,其在java.util包下,接下來的例子中也需要注意這個知識點。

3.1.2選擇結構2. if…else雙分支結構(1)一般格式

if(條件表達式){

語句塊1;

}else{

語句塊2;}3.1.2選擇結構(2)執(zhí)行過程

if…else雙分支是指當條件成立時,執(zhí)行語句1,之后再執(zhí)行if后面的語句;當條件不成立時,執(zhí)行語句2,之后再執(zhí)行if后面的語句。其執(zhí)行過程如圖3-23。圖3-23雙分支結構執(zhí)行過程表達式語句1truefalse語句23.1.2選擇結構(3)說明

if與else的后面均沒有分號。

無論if還是else后的語句可以是一條語句,也可以是多條語句組成的復合語句。

if…else是一條語句,而不是兩條語句(if語句和else語句),else不能作為一條語句單獨使用,它必須是if語句的一部分,與if配對使用。

else子句后面沒有表達式。3.1.2選擇結構【例3-6】編寫一個程序,實現(xiàn)從鍵盤輸入兩個整數(shù),輸出最大數(shù)。開始提示請輸入兩個整數(shù):輸入x,y的值結束x<ytrue定義浮點型變量x,y輸出:x的值false輸出:y的值通過流程圖分析案例執(zhí)行過程3.1.2選擇結構【例3-6】編寫一個程序,實現(xiàn)從鍵盤輸入兩個整數(shù),輸出最大數(shù)。代碼實現(xiàn):package.cvit;

importjava.util.Scanner;

/**

*if...else雙分支實現(xiàn)輸出兩個整數(shù)中的最大數(shù)

*/

publicclassMaxNum1{

publicstaticvoidmain(String[]args){

intx,y;

//定義變量

System.out.print("請輸入兩個整數(shù):");

//提示輸入兩個整數(shù)

Scannersc=newScanner(System.in);

//創(chuàng)建Scanner對象

//輸入兩個整數(shù),分別存入變量x和y中

x=sc.nextInt();

y=sc.nextInt();

//比較兩個數(shù),若x>y,輸入x,否則輸入y

if(x>y){

System.out.println("最大值為:"+x);

}else{

System.out.println("最大值為:"+y);

}

sc.close();

//關閉資源

}

}3.1.2選擇結構【例3-6】編寫一個程序,實現(xiàn)從鍵盤輸入兩個整數(shù),輸出最大數(shù)。運行結果:提示:既可以通過單分支結構實現(xiàn),又可以通過雙分支結構實現(xiàn),建議使用后者,可以使代碼更簡潔。雙分支結構,條件成立,執(zhí)行if子塊,不成立,執(zhí)行else子塊。3.1.2選擇結構3.if…elseif…else多分支結構(1)一般格式if(條件表達式1){語句塊1;

}elseif(條件表達式2){

語句塊2;}……elseif(條件表達式n){

語句塊n;

}else{

語句塊n+1;}3.1.2選擇結構(2)執(zhí)行過程多個分支是指依次判斷表達式的值,當出現(xiàn)某個值為true時,則執(zhí)行其對應的語句塊。然后跳到整個if語句之外繼續(xù)執(zhí)行程序。如果所有的表達式均為false,則執(zhí)行語句塊n+1。其執(zhí)行過程如圖3-31所示。true

表達式1truefalse

表達式1表達式2表達式3false

true

表達式nfalse

……表達式n+1false語句塊n+1語句塊n語句塊3語句塊2語句塊1true

true

……【例3-9】從鍵盤輸入一個成績,判斷其屬于哪個等級,我們將成績分為五個等級。成績大于等于90等級為A;成績大于等于80,且小于90等級為B;成績大于等于70,且小于80等級為C;成績大于等于60,且小于70等級為D;成績小于60,等級為E。truetruefalsescore>=90?false

truefalse

……false

true真開始定義浮點型變量:score提示輸入成績輸入成績score輸出:成績?yōu)锳score>=80?輸出:成績?yōu)锽score>=70?輸出:成績?yōu)镃score>=60?輸出:成績?yōu)镋輸出:成績?yōu)镈結束3.1.2選擇結構通過流程圖分析案例執(zhí)行過程3.1.2選擇結構【例3-9】從鍵盤輸入一個成績,判斷其屬于哪個等級。代碼實現(xiàn):publicstaticvoidmain(String[]args){

floatscore;

//1.定義成績變量

System.out.print("請輸入成績:");

//2.提示輸入成績

Scannersc=newScanner(System.in);

//3.創(chuàng)建Scanner對象

score=sc.nextFloat();

//4.輸入成績

if(score>=90){

//5.判斷成績等級并輸出

System.out.println("該科成績?yōu)椋篈");

}elseif(score>=80){

System.out.println("該科成績?yōu)椋築");

}elseif(score>=70){

System.out.println("該科成績?yōu)椋篊");

}elseif(score>=60){

System.out.println("該科成績?yōu)椋篋");

}else{

System.out.println("該科成績?yōu)椋篍");

}

sc.close();

//6.關閉資源

}3.1.2選擇結構運行結果:【例3-9】從鍵盤輸入一個成績,判斷其屬于哪個等級。提示:(1)如果輸入數(shù)據(jù)不在【0,100】之間,會出現(xiàn)錯誤的結果,只需要在輸入數(shù)據(jù)后加一個判斷就可以解決,這個問題交給同學們自行解決。(2)if多分支選擇結構中,當所有的條件均不成立時,執(zhí)行最后一個else子句。3.1.2選擇結構5.switch多分支結構if多分支和switch多分支都屬于多分支選擇結構。if多分支結構適用于多種情形的事件,switch多分支更適合處理分支情況較多,判斷條件類型單一,只有一個入口的事件。(1)一般格式

switch(表達式){ case常量表達式1:語句塊1;[break;]case常量表達式2:語句塊2;[break;]……case常量表達式n:語句塊n;[break;][default:語句組;[break;]] }(2)執(zhí)行過程3.1.2選擇結構-switch多分支表達式……常量表達式1常量表達式2常量表達式ndefault語句塊1……語句塊2語句塊n語句塊n+1breakbreak

break

break

(3)說明

switch后面括號里面的表達式可以是整型、枚舉或者字符串,當switch后面“表達式”的值與某個case后面的“常量表達式”的值相同時,就執(zhí)行該case后面的語句塊;當執(zhí)行到break語句時,跳出switch語句,轉向執(zhí)行switch語句的下一條。

如果沒有任何一個case后面的“常量表達式”的值,與“表達式”的值匹配,則執(zhí)行default后面的語塊。然后,再執(zhí)行switch語句的下一條。

每一個case的常量表達式的值不能相同。3.1.2選擇結構-switch多分支(3)說明

各case與default的出現(xiàn)沒有先后順序,既可以先出現(xiàn)case后出現(xiàn)default,也可以先出現(xiàn)default后出現(xiàn)case。

在case子句后雖然包含一條以上執(zhí)行語句,但可以不用大括號括起來,會自動順序執(zhí)行本case子句后的所有語句。

執(zhí)行完case子句后,如果沒有break語句,流程控制轉到下一個case繼續(xù)執(zhí)行。case常量表達式只是起語句標號作用,并不在該處進行條件判斷。在執(zhí)行switch時,根據(jù)switch后面表達式的值找到匹配的case子句,之后,不再進行判斷。3.1.2選擇結構-switch多分支【例3-11】從鍵盤輸入一個成績,判斷其屬于哪個等級,我們將成績分為五個等級。成績大于等于90等級為A;成績大于等于80,且小于90等級為B;成績大于等于70,且小于80等級為C;成績大于等于60,且小于70等級為D;成績小于60,等級為E。3.1.2選擇結構-switch多分支其它0-56別9,10圖3-41例3-11流程圖開始定義浮點型變量:score提示輸入成績輸入成績scorescore/10

輸出A級輸出B級輸出C級7輸出D級輸出E級輸入錯誤結束break

8通過流程圖分析案例執(zhí)行過程【例3-11】從鍵盤輸入一個成績,判斷其屬于哪個等級。代碼實現(xiàn):publicstaticvoidmain(String[]args){

floatscore;

//1.定義變量

System.out.print("請輸入成績【0-100】:");

//2.輸出提示信息

Scannersc=newScanner(System.in);

//3.創(chuàng)建Scanner對象

score=sc.nextFloat();

//4.將鍵盤輸入的成績存入變量score中

3.1.2選擇結構-switch多分支【例3-11】從鍵盤輸入一個成績,判斷其屬于哪個等級。

switch((int)(score/10))

//5.switch語句判斷成績范圍,輸出對應的等級

{

case9:

case10:

System.out.println("該科成績?yōu)椋篈");break;

case8:

System.out.println("該科成績?yōu)椋築");break;

case7:

System.out.println("該科成績?yōu)椋篊");break;

case6:

System.out.println("該科成績?yōu)椋篋");break;

case5:

case4:

case3:

case2:

case1:

case0:

System.out.println("該科成績?yōu)椋篍");break;

default:

System.out.println("輸入錯誤,請輸入0-100之間的數(shù)!");break;

}

sc.close();

//6.關閉資源

}3.1.2選擇結構-switch多分支【例3-11】從鍵盤輸入一個成績,判斷其屬于哪個等級。運行結果:3.1.2選擇結構-switch多分支提示:每個有獨立語句塊的case子句后必須有break語句,多個case子句執(zhí)行相同代碼時,只需要在最后一個case語句后有語句塊,同時加break語句。輸入的成績?yōu)楦↑c類型,因此需要將score/10表達式的值進行強制類型轉換,得到一個整數(shù)。3.1知識儲備–

循環(huán)結構

while循環(huán)dowhile循環(huán)for循環(huán)3.1.3循環(huán)結構“循環(huán)”顧名思義不斷重復同樣的工作,只有完成任務,或者遇到特殊情況才會結束。Java語言中的循環(huán)結構是重復執(zhí)行一條或者多條語句,直到條件不滿足為止。循環(huán)結構與順序結構和選擇(分支)結構共同構成了Java語言的三大基本結構,是Java程序的重要組成元素。Java語言循環(huán)結構的基本形式有三種:while循環(huán)(當型循環(huán))、do…while循環(huán)(直到型循環(huán))和for循環(huán)。3.1.3循環(huán)結構-while循環(huán)

1.while循環(huán)while循環(huán)表示先判斷循環(huán)條件,當滿足給定的條件時執(zhí)行循環(huán)體,并且在循環(huán)終端處流程自動返回到循環(huán)入口;如果條件不滿足,則退出循環(huán)體直接到達流程出口處。因為是“當條件滿足時執(zhí)行循環(huán)”,即先判斷后執(zhí)行,所以稱該循環(huán)為當型循環(huán)。(1)一般格式while(表達式){循環(huán)體語句塊;}其中,表達式是循環(huán)條件,語句塊為循環(huán)體。3.1.3循環(huán)結構-while循環(huán)(2)執(zhí)行過程求解表達式的值,當值為True時,執(zhí)行循環(huán)體語句,當值為false時,跳出循環(huán)。其執(zhí)行過程如圖3-45所示。truefalse圖3-45while語句的執(zhí)行過程表達式循環(huán)體語句塊3.1.3循環(huán)結構-while循環(huán)(3)說明

while循環(huán)體可以是單條語句,也可以是復合語句,復合語句的大括號不可以省略。

while循環(huán)體中應有使循環(huán)趨向于結束的語句,否則,將出現(xiàn)無限循環(huán)。3.1.3循環(huán)結構-while循環(huán)【例3-13】用while語句求。開始定義整型變量:n=1,sum=0輸出sum的值n≤100sum+=n

n++

結束truefalse通過流程圖分析案例執(zhí)行過程3.1.3循環(huán)結構-while循環(huán)【例3-13】用while語句求。代碼實現(xiàn):publicstaticvoidmain(String[]args){

intn=1,sum=0;

//1.定義循環(huán)次數(shù)變量n和累加和變量sum,并賦初值

while(n<=100){

//2.通過while循環(huán)條件,設置循環(huán)變量終值為100

sum+=n;

//2.1累加求和

n++;

//2.2循環(huán)變量自增

}

System.out.println("1-100的和為:"+sum);

//3.輸出和

}3.1.3循環(huán)結構-while循環(huán)【例3-13】用while語句求。運行結果:提示:while后邊的大括號不能省略,否則出現(xiàn)死循環(huán)。while循環(huán)體語句需要有使循環(huán)條件驅于結束的語句,否則無法跳出循環(huán)。3.1.3循環(huán)結構-do

while循環(huán)do…while循環(huán)也是Java語言中應用比較廣泛的循環(huán)語句,do…while循環(huán)是先執(zhí)行循環(huán)體語句塊,再判斷循環(huán)條件是否成立。(1)一般格式do{

循環(huán)體語句塊;

}while(條件表達式);while表達式后邊的分號不可缺省。3.1.3循環(huán)結構-do

while循環(huán)(2)執(zhí)行過程do…while循環(huán)也稱直到型循環(huán),先執(zhí)行先一次循環(huán)體,然后求解條件表達式,表達式為true繼續(xù)執(zhí)行循環(huán)體,直到條件為false時,退出循環(huán)。執(zhí)行過程如圖3-50所示。truefalse圖3-50do…while語句的執(zhí)行過程表達式循環(huán)體語句塊3.1.3循環(huán)結構-do

while循環(huán)(3)說明

可以用while和do…while處理同一問題,一般情況下,結果相同。但是如果在一開始循環(huán)條件就為假時,兩者結果不同,while循環(huán)一次不執(zhí)行循環(huán)體,而do…while循環(huán)執(zhí)行一次循環(huán)體。

循環(huán)體語句可以是單條語句或者由大括號括起來的多條語句(復合語句)。

do…while循環(huán)體語句中應有使循環(huán)趨向于結束的語句,否則,將出現(xiàn)無限循環(huán)。3.1.3循環(huán)結構-do

while循環(huán)(3)說明

do…while可以改造成“語句+while循環(huán)”,流程圖如圖3-51所示,由虛線框起來的部分為while語句。truefalse圖3-51語句+while循環(huán)表達式語句循環(huán)體語句塊while循環(huán)3.1.3循環(huán)結構-dowhile循環(huán)【例3-15】編程輸出【100,200】之間能被7整除的數(shù)。開始定義整型變量:n=100輸出nn%7==0n++

結束n<=200truetruefalsefalse通過流程圖分析案例執(zhí)行過程3.1.3循環(huán)結構-dowhile循環(huán)【例3-15】編程輸出【100,200】之間能被7整除的數(shù)。代碼實現(xiàn):publicstaticvoidmain(String[]args){

intn=100;

//1.定義循環(huán)變量n,初值為100

do{

//2.do...while循環(huán)判斷并輸出

if(n%7==0){

//2.1循環(huán)體內判斷n是否能被7整除,能,輸出n的值,不能,判斷下一個數(shù)

System.out.print(n+"\t");

}

n++;

//2.2循環(huán)變量增量

}while(n<=200);

//3.條件表達式后的分號不能省略

}3.1.3循環(huán)結構-dowhile循環(huán)運行結果:【例3-15】編程輸出【100,200】之間能被7整除的數(shù)。提示:do…while循環(huán),循環(huán)體語句至少執(zhí)行一次。do…while循環(huán)體內同樣需要有使循環(huán)條件趨于結束的語句,例如n++。3.1.3循環(huán)結構-for循環(huán)Java語言中的for循環(huán)是循環(huán)結構中最靈活、最具特色的一種,它完全可以代替while和do…while循環(huán),它不僅可以解決循環(huán)次數(shù)固定的循環(huán)問題,而且還可以解決循環(huán)次數(shù)不確定的循環(huán)問題,其功能強大,應用廣泛。(1)一般形式for(表達式1;表達式2;表達式3)語句(2)執(zhí)行過程

先求解表達式1,確定循環(huán)變量的初值。

求解表達式2,若其值為true,執(zhí)行for語句中指定的內嵌語句,然后執(zhí)行下面第步;若其值為false,結束循環(huán),執(zhí)行for語句下面的一條語句。

求解表達式3。

轉回第

步。圖3-56for循環(huán)執(zhí)行過程表達式1表達式2循環(huán)體語句塊表達式3truefalse3.1.3循環(huán)結構-for循環(huán)(3)說明

表達式1為循環(huán)變量的初值,表達式2為循環(huán)條件,表達式3為循環(huán)變量的增量。

for循環(huán)中的三個表達式可以任意缺省,但其分號不能省。表達式缺省將在下面例題中詳細說明。3.1.3循環(huán)結構-for循環(huán)【例3-17】用for循環(huán)求【1,100】之間自然數(shù)的和。開始i=1i≤100sum=sum+ii++定義整型變量:i,sum=0輸出sum的值結束truefalse通過流程圖分析案例執(zhí)行過程3.1.3循環(huán)結構-for循環(huán)【例3-17】用for循環(huán)求【1,100】之間所有自然數(shù)的和。代碼實現(xiàn):

publicstaticvoidmain(String[]args){

inti,sum=0;

//1.定義變量

for(i=1;i<=100;i++){

//2.for循環(huán)開始,確定循環(huán)變量初值,終值和增量

sum+=i;

//2.1循環(huán)體,累加求和

}

System.out.println("sum="+sum);

//3.輸出結果

}3.1.3循環(huán)結構-for循環(huán)【例3-17】用for循環(huán)求【1,100】之間所有自然數(shù)的和。運行結果:提示:缺省表達式1,循環(huán)次數(shù)超大缺省表達式2,無限循環(huán)缺省表達式3,無限循環(huán)3.1.3循環(huán)結構-for循環(huán)4.三種循環(huán)的比較(1)while循環(huán)和do…while循環(huán)適合循環(huán)次數(shù)不確定時使用,而循環(huán)次數(shù)確定時使用for循環(huán)更方便快捷。(2)do…while循環(huán)先執(zhí)行循環(huán)體,后判斷循環(huán)條件,而while循環(huán)和for循環(huán)是先判斷循環(huán)條件,后執(zhí)行循環(huán)體,因此,do…while更適合至少執(zhí)行一次循環(huán)的場合。(3)while循環(huán)和do…while循環(huán)變量賦初值應該是while和do…while語句前完成,而for循環(huán)在表達式1中完成。3.1.3循環(huán)結構-for循環(huán)5.循環(huán)嵌套如果一個循環(huán)結構的循環(huán)體內包含另外一個完整的循環(huán)結構,則稱這種結構為循環(huán)嵌套結構,又稱多重循環(huán)。常用循環(huán)嵌套為兩重循環(huán),外層循環(huán)結構稱為外循環(huán),內層循環(huán)結構稱為內循環(huán)。3.1.3循環(huán)結構-循環(huán)嵌套3.1知識儲備–

中斷語句

一般格式執(zhí)行過程應用3.1.4中斷語句1.break語句break語句通常用在循環(huán)語句和switch(開關)語句中。當break用于switch語句中時,可使程序跳出switch而執(zhí)行switch以后的語句,break在switch中的用法在多分支結構中已經介紹。而break語句還可以用于do-while、for、while循環(huán)語句中,可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語句,通常break語句總是與if語句連在一起。即滿足條件時便跳出循環(huán)。3.1.4中斷語句(1)一般格式

break;(2)執(zhí)行過程以while循環(huán)為例,執(zhí)行過程如圖所示。truefalse表達式語句塊1表達式2

truewhile循環(huán)的下一語句falsebreak語句塊2true表達式1

3.1.4中斷語句【例3-22】編寫一個程序,要求從鍵盤輸入多科成績,當輸入負時,結束成績輸入,并輸出總成績。falsetruetruescore<0truesum+=score開始定義變量score,sum=0輸入成績score輸出總分sum結束break通過流程圖分析案例執(zhí)行過程3.1.4中斷語句代碼實現(xiàn)publicstaticvoidmain(String[]args){

floatscore,sum=0;

//1.定義變量并賦初值

Scannersc=newScanner(System.in);

//2.創(chuàng)建Scanner對象

while(true){

//3.循環(huán)條件永遠為真

System.out.print("請輸入成績:");

//3.1提示輸入數(shù)據(jù)

score=sc.nextFloat();

//3.2鍵盤輸入成績,并保存到變量score中

if(score<0)

//3.3判斷score是否為負

break;

//3.3.1如果成績?yōu)樨?,退出循環(huán)體

sum+=score;

//3.4.如果成績非負,累加成績

}

System.out.println("sum="+sum);

//4.輸出總成績

}運行結果:3.1.4中斷語句提示:如果不使用break語句,循環(huán)將無法結束。break語句通常與if語句配合使用。2.continue語句continue語句的作用是跳過循環(huán)本中剩余的語句而強行執(zhí)行下一次循環(huán)。continue語句只用在for、while、do-while等循環(huán)體中,常與if條件語句一起使用,用來加速循環(huán)。(1)一般格式continue;3.1.4中斷語句(1)一般格式continue;(2)執(zhí)行過程以while語句為例,其執(zhí)行過程如圖3-79所示。3.1.4中斷語句falsecontinue圖3-79while語句中的continuetruefalse表達式1

語句2表達式2

true語句塊1while循環(huán)的下一語句【例3-23】編寫一個程序,輸出1~100自然數(shù)中所有能被13整除的數(shù)。3.1.4中斷語句truei≤100i%13!=0truefalse開始定義整型變量i輸出i的值結束i=1falsecontinue通過流程圖分析案例執(zhí)行過程3.1.4中斷語句

代碼實現(xiàn):

publicstaticvoidmain(String[]args){

inti;

//1.定義循環(huán)變量

System.out.print("100以內能被13整除的數(shù)有:");

//2.輸出提示信息

for(i=1;i<=100;i++){

//3.for循環(huán)開始

if(i%13!=0)

//3.1判斷循環(huán)變量是否能被13整除

continue;

//3.1.1如果不能整除,結束本次循環(huán),直接進入一次循環(huán)

System.out.print(i+"

");

//3.2如果能整除,輸出i的值

}

}運行結果:3.1.4中斷語句提示:輸出提示信息語句要放在循環(huán)外面。輸出各數(shù)之間用逗號分隔,避免都連在一起。3.2任務實現(xiàn)

3.2.1任務1:四則運算3.2.2任務2:隨機出題1.任務描述四則運算小程序,要求參與運算的兩個操作數(shù)是隨機生成的[0,99]之間的整數(shù),運算符由用戶鍵盤輸入,通過程序計算結果并輸出,運行效果如圖3-74所示。

3.2.1任務1:四則運算2.任務分析根據(jù)任務描述及要求對該程序分析如下:(1)通過Random類中的nextInt()方法,生成[0,99]之間

溫馨提示

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

最新文檔

評論

0/150

提交評論