程序控制語句課件_第1頁
程序控制語句課件_第2頁
程序控制語句課件_第3頁
程序控制語句課件_第4頁
程序控制語句課件_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第3章程序控制語句

主要內(nèi)容:編程語言使用控制語句來產(chǎn)生執(zhí)行流,從而完成程序狀態(tài)的改變,如程序順序執(zhí)行和分支執(zhí)行。Java程序控制語句分為三類:選擇、循環(huán)和跳轉(zhuǎn)。根據(jù)表達(dá)式結(jié)果或變量狀態(tài),選擇語句可使程序選擇不同的執(zhí)行路徑;循環(huán)語句使程序能夠重復(fù)執(zhí)行一個(gè)或一個(gè)以上語句;跳轉(zhuǎn)語句允許程序以非線性的方式執(zhí)行。本章將分析Java語言的所有控制語句。如果你熟悉C/C++,那么掌握J(rèn)ava的控制語句將很容易。事實(shí)上,Java的控制語句與C/C++中的語句幾乎完全相同。但是它們還是有一些差別的——尤其是break語句與continue語句,而且還有JDK5.0對for語句作了擴(kuò)展。主要內(nèi)容3.1選擇語句3.2循環(huán)語句3.3跳轉(zhuǎn)語句3.1.1If語句if或else控制的對象可以是單個(gè)語句(statement),也可以是程序塊(block)。條件condition可以是任何返回布爾值的表達(dá)式。else子句是可選的。if(condition)statement1;else

statement2;嵌套If語句if(i==10){

if(j<20)

a=b;

if(k>100)c=d;

elsea=c;}elsea=d;if(condition)statement1;elseif(condition)statement2;elseif(condition)statement3;...elsestatementn;注意:嵌套if語句是指該if語句為另一個(gè)if或者else語句的對象。在編程時(shí)經(jīng)常要用到嵌套if語句。當(dāng)使用嵌套if語句時(shí),需記住的要點(diǎn)就是:一個(gè)else語句總是對應(yīng)著和它在同一個(gè)塊中的最近的if語句,而且該if語句沒有與其他else語句相關(guān)聯(lián)。確定某個(gè)月是什么季節(jié)intmonth=5;//MayStringseason;if(month==12||month==1||month==2)season="Winter";elseif(month==3||month==4||month==5)season="Spring";elseif(month==6||month==7||month==8)season="Summer";elseif(month==9||month==10||month==11)season="Autumn";elseseason="Itisawrongnumber!";switch注意事項(xiàng)1/2表達(dá)式expression必須為byte,short,int或char類型(數(shù)據(jù)類型長度小于等于32位),在JDK5.0中可以是用枚舉類型(enum)。每個(gè)case語句后的值value必須是與表達(dá)式類型兼容的特定的一個(gè)常量(它必須為一個(gè)常量,而不是變量)。重復(fù)的case值是不允許的。例子:SwitchBreak.javapublicclassSwitchBreak{publicstaticvoidmain(String[]args){intmonth=5;Stringseason;switch(month){case12:case1:case2:season="Winter";break;

。。。。。。。

又一個(gè)簡單例子:

importjava.util.*;enumOperatingSystems{windows,unix,linux,macintosh}publicclassEnumExample1{ publicstaticvoidmain(Stringargs[]){ OperatingSystemsos; os=OperatingSystems.windows; switch(os){ casewindows: System.out.println(“YouchoseWindows!”); break; caseunix:

………………枚舉類型(enum)主要內(nèi)容3.1選擇語句3.2循環(huán)語句3.3跳轉(zhuǎn)語句3.2循環(huán)語句While語句do-whileForJava的循環(huán)語句有for,while和do-while。這些語句創(chuàng)造了我們通常所稱的循環(huán)(loops)。一個(gè)循環(huán)重復(fù)執(zhí)行同一套指令直到一個(gè)結(jié)束條件出現(xiàn)。While語句while語句是Java最基本的循環(huán)語句。當(dāng)它的控制表達(dá)式是真時(shí),while語句重復(fù)執(zhí)行一個(gè)語句或語句塊。它的通用格式如下:

while(condition){//bodyofloop...}條件condition可以是任何布爾表達(dá)式。只要條件表達(dá)式為真,循環(huán)體就被執(zhí)行。當(dāng)條件condition為假時(shí),程序控制就傳遞到循環(huán)后面緊跟的語句行。如果只有單個(gè)語句需要重復(fù),大括號是不必要的(加上大括號總是一件好的事情,便于以后擴(kuò)充)。While語句publicclassSampleWhile{publicstaticvoidmain(String[]args){intsum=0,i=100;

while(i<200){i++;sum+=i;}System.out.println("thesumis“+sum);}}do-while循環(huán)publicclassSampleDowhile{publicstaticvoidmain(String[]args){intsum=0,i=100;

do{i++;sum+=i;}while(i<200);System.out.println("thesumis"+sum);}}for循環(huán)for循環(huán)是一個(gè)功能強(qiáng)大且形式靈活的結(jié)構(gòu)。下面是for循環(huán)的通用格式:

for(initialization;condition;iteration){//body...}如只有一條語句需要重復(fù),大括號就沒有必要for循環(huán)intsum=0,i=0;

for(i=101;i<=200;i++){sum+=i;}System.out.println("thesumis"+sum);for的其它用法在for循環(huán)內(nèi)聲明變量在for循環(huán)中使用逗號

for(inta=1,b=4;a<b;a++,b--){System.out.println("a="+a);System.out.println("b="+b);}Foreach

該程序中,“:”表示“in”的意思,for(inte:a)就是“foreachinteina”,即“對于數(shù)組a中的每個(gè)整數(shù)e”。通過定義一個(gè)整數(shù)變量e表示數(shù)組中的每個(gè)元素。for-each循環(huán)看上去比一般的for循環(huán)漂亮的多,不需要使用下標(biāo)。主要內(nèi)容3.1選擇語句3.2循環(huán)語句3.3跳轉(zhuǎn)語句3.2跳轉(zhuǎn)語句break語句continue語句return語句break語句1/2使用break退出循環(huán)for(inti=0;i<3;i++){System.out.print("Pass"+i+":");for(intj=0;j<100;j++){if(j==10)

break;System.out.print(j+"");}System.out.println();}break語句2/2://BreakLabel.java

把break當(dāng)作goto的一種形式來用

booleant=true;first:{second:{third:{System.out.println("Beforethebreak.");

if(t)breaksecond;System.out.println("Thiswon'texecute");}System.out.println("Thiswon'texecute");}System.out.println("Thisisaftersecondblock.");}continuebreak只不過是跳過循環(huán)體,到達(dá)循環(huán)的尾部。continue語句是break語句的補(bǔ)充。在while和dowhile循環(huán)中,continue語句使控制直接轉(zhuǎn)移給控制循環(huán)的條件表達(dá)式,然后繼續(xù)循環(huán)過程。在for循環(huán)中,循環(huán)的迭代表達(dá)式被求值,然后執(zhí)行條件表達(dá)式,循環(huán)繼續(xù)執(zhí)行。對于這3種循環(huán),continue后面的語句被忽略。使用continue語句1/2終止本次循環(huán)繼續(xù)下一次循環(huán)for(inti=1;i<20;i++){System.out.print(i+"");if(i%5!=0)

continue;System.out.println("");}使用continue語句2/2:continue帶標(biāo)號://ContinueLabel.javaouter:for(inti=1;i<10;i++){for(intj=1;j<10;j++){if(j>i){System.out.println();

continueouter;}System.out.print(""+(i*j));}}System.out.println();使用Return語句return語句用來明確地從一個(gè)方法返回。也就是,return語句使程序控制返回到調(diào)用它的方法。因此,將它分類為跳轉(zhuǎn)語句。在一個(gè)方法的任何時(shí)間,return語句可被用來使正在執(zhí)行的分支程序返回到調(diào)用它的方法。下面的例子說明這一點(diǎn)。下例中,由于是Java運(yùn)行時(shí)系統(tǒng)調(diào)用main(),因此,return語句使程序執(zhí)行返回到Java運(yùn)行時(shí)系統(tǒng)。例如:求累加和importjava.io.*;publicclassSumR{//方法sum(intn)用來實(shí)現(xiàn)數(shù)n的連加,即∑npublicstaticintsum(intn){if(n<1)return0;elsereturnsum(n-1)+n;}publicstaticvoidmain(Stringargs[]){intresult=0;//用來存放

溫馨提示

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

最新文檔

評論

0/150

提交評論