第03講-JAVA基本語(yǔ)法(下)_第1頁(yè)
第03講-JAVA基本語(yǔ)法(下)_第2頁(yè)
第03講-JAVA基本語(yǔ)法(下)_第3頁(yè)
第03講-JAVA基本語(yǔ)法(下)_第4頁(yè)
第03講-JAVA基本語(yǔ)法(下)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

JAVA根本語(yǔ)法〔下〕控制語(yǔ)句Java中的控制語(yǔ)句有以下幾類(lèi):

分支語(yǔ)句:if-else,switch

循環(huán)語(yǔ)句:while,do-while,for

與程序轉(zhuǎn)移有關(guān)的跳轉(zhuǎn)語(yǔ)句:break,continue,return

例外處理語(yǔ)句:try-catch-finally,throw

1/8/20242Java根本語(yǔ)法〔下〕語(yǔ)句塊Java程序通過(guò)控制語(yǔ)句來(lái)執(zhí)行程序流,完成一定的任務(wù)。程序流是由假設(shè)干個(gè)語(yǔ)句組成的,語(yǔ)句可以是單一的一條語(yǔ)句,如c=a+b,也可以是用大括號(hào){}括起來(lái)的一個(gè)復(fù)合語(yǔ)句。語(yǔ)句塊可以嵌套,嵌套層數(shù)無(wú)限制定義類(lèi)時(shí)類(lèi)體必須采用語(yǔ)句塊形式定義方法時(shí)方法體必須采用語(yǔ)句塊的形式1/8/20243Java根本語(yǔ)法〔下〕分支語(yǔ)句分支語(yǔ)句實(shí)現(xiàn)程序流程控制的功能,即根據(jù)一定的條件有選擇地執(zhí)行或跳過(guò)特定的語(yǔ)句Java分支語(yǔ)句分類(lèi)if-else語(yǔ)句switch語(yǔ)句1/8/20244Java根本語(yǔ)法〔下〕if-else語(yǔ)句if(condition){//statements;}elseif(another_condition){//statements;}elseif(someothercondition){//statements;}else{//statements;}1/8/20245Java根本語(yǔ)法〔下〕if-else語(yǔ)句if(age<18){System.out.println("Youareachild–kidsrule!");}elseif(age<55){System.out.println("Youareanadult–adultsarealright!");}else{System.out.println("Youareasenior–seniorsaregreat!");}1/8/20246Java根本語(yǔ)法〔下〕多分支語(yǔ)句switchswitch(exp){ caseconst1: statement1; //break; caseconst2: statement2; break; …… caseconstN: statementN; break; [default: statement_dafault; break;] }1/8/20247Java根本語(yǔ)法〔下〕多分支語(yǔ)句switchswitch(col){case0:System.out.println("id");break;case1:System.out.println("name");break;case2:System.out.println("address");break;case3:System.out.println("phone");break;default:System.out.println("unknown");}1/8/20248Java根本語(yǔ)法〔下〕多分支語(yǔ)句switch

表達(dá)式expression的返回值類(lèi)型必須是這幾種類(lèi)型之一:int,byte,char,short。

case子句中的值valueN必須是常量,而且所有case子句中的值應(yīng)是不同的。

default子句是可選的。

break語(yǔ)句用來(lái)在執(zhí)行完一個(gè)case分支后,使程序跳出switch語(yǔ)句,即終止switch語(yǔ)句的執(zhí)行〔在一些特殊情況下,多個(gè)不同的case值要執(zhí)行一組相同的操作,這時(shí)可以不用break,不寫(xiě)break時(shí)執(zhí)行自改case開(kāi)始到下一次找到break語(yǔ)句為至〕。1/8/20249Java根本語(yǔ)法〔下〕循環(huán)語(yǔ)句循環(huán)語(yǔ)句的作用是反復(fù)執(zhí)行一段代碼,直到滿(mǎn)足終止循環(huán)的條件為止。Java語(yǔ)言中提供的循環(huán)語(yǔ)句有:

while語(yǔ)句

do-while語(yǔ)句

for語(yǔ)句

1/8/202410Java根本語(yǔ)法〔下〕for語(yǔ)句語(yǔ)法格式

for(init_statement;test_exp;alter_statement){

body_statement

}1/8/202411Java根本語(yǔ)法〔下〕for語(yǔ)句

for語(yǔ)句執(zhí)行時(shí),首先執(zhí)行初始化操作,然后判斷終止條件是否滿(mǎn)足,如果滿(mǎn)足,那么執(zhí)行循環(huán)體中的語(yǔ)句,最后執(zhí)行迭代局部。完成一次循環(huán)后,重新判斷終止條件。

初始化、終止以及迭代局部都可以為空語(yǔ)句(但分號(hào)不能省),三者均為空的時(shí)候,相當(dāng)于一個(gè)無(wú)限循環(huán)。

在初始化局部和迭代局部可以使用逗號(hào)語(yǔ)句,來(lái)進(jìn)行多個(gè)操作。逗號(hào)語(yǔ)句是用逗號(hào)分隔的語(yǔ)句序列。

1/8/202412Java根本語(yǔ)法〔下〕for語(yǔ)句例如publicclassForMultipleExample{publicstaticvoidmain(String[]args){for(inti=1,j=10;i<=10;i++,j--){System.out.println("i="+i);System.out.println("j="+j);System.out.println("i*j="+i*j);}}}1/8/202413Java根本語(yǔ)法〔下〕while語(yǔ)句語(yǔ)法格式

[init_statement] while(test_exp){

body_statement; [alter_statement;] }1/8/202414Java根本語(yǔ)法〔下〕while語(yǔ)句例如publicclassWhileExample{publicstaticvoidmain(String[]args){inti=1;while(i<=10){System.out.println("i="+i);i++;}}}1/8/202415Java根本語(yǔ)法〔下〕do-while語(yǔ)句語(yǔ)法格式

[init_statement] do{

body_statement; [alter_statement;]

}while(test_exp);1/8/202416Java根本語(yǔ)法〔下〕do-while例如publicclassDoWhileExample{publicstaticvoidmain(String[]args){inta=0;do{ System.out.println("a="+a);a+=2;}while(a<=10);}}1/8/202417Java根本語(yǔ)法〔下〕跳轉(zhuǎn)語(yǔ)句

break語(yǔ)句

continue語(yǔ)句

返回語(yǔ)句return

1/8/202418Java根本語(yǔ)法〔下〕break語(yǔ)句break語(yǔ)句用于終止某個(gè)語(yǔ)句塊的執(zhí)行

{…… break; …… }break語(yǔ)句出現(xiàn)在多層嵌套的語(yǔ)句塊中時(shí),可以通過(guò)標(biāo)簽指明要終止的是哪一層語(yǔ)句塊

label1: {…… label2: {…… label3: {…… breaklabel2; …… } } }

1/8/202419Java根本語(yǔ)法〔下〕break語(yǔ)句例如publicclassBreakExample{publicstaticvoidmain(String[]args){for(inti=1;i<=10;i++){if(i==5){ break; }System.out.println("i="+i);}System.out.println("Done");}}

1/8/202420Java根本語(yǔ)法〔下〕continue語(yǔ)句continue語(yǔ)句用于跳過(guò)某個(gè)循環(huán)語(yǔ)句塊的一次執(zhí)行continue語(yǔ)句出現(xiàn)在多層嵌套的循環(huán)語(yǔ)句體中時(shí),可以通過(guò)標(biāo)簽指明要跳過(guò)的是哪一層循環(huán)

1/8/202421Java根本語(yǔ)法〔下〕continue語(yǔ)句例如publicclassContinueExample{publicstaticvoidmain(String[]args){for(inti=1;i<=10;i++){if(i==5||i==7){ continue; }System.out.println("i="+i);}System.out.println("Done");}}1/8/202422Java根本語(yǔ)法〔下〕外層跳轉(zhuǎn):break語(yǔ)句

在switch語(yǔ)中,break語(yǔ)句用來(lái)終止switch語(yǔ)句的執(zhí)行。

在Java中,可以為每個(gè)代碼塊加一個(gè)括號(hào),一個(gè)代碼塊通常是用大括號(hào){}括起來(lái)的一段代碼。加標(biāo)號(hào)的格式如下:

BlockLabel:{codeBlock}

break語(yǔ)句的第二種使用情況就是跳出它所指定的塊,并從緊跟該塊的第一條語(yǔ)句處執(zhí)行。例如:

breakBlockLabel;

break語(yǔ)句

a:{……//標(biāo)記代碼塊a

b:{……//標(biāo)記代碼塊b

c:{……//標(biāo)記代碼塊c

breakb;

……//此處的語(yǔ)句塊不被執(zhí)行

}

……/此處的語(yǔ)句塊不被執(zhí)行

}

……//從此處開(kāi)始執(zhí)行

}1/8/202423Java根本語(yǔ)法〔下〕外層跳轉(zhuǎn):continue語(yǔ)句continue語(yǔ)句用來(lái)結(jié)束本次循環(huán),跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,接著進(jìn)行終止條件的判斷,以決定是否繼續(xù)循環(huán)。對(duì)于for語(yǔ)句,在進(jìn)行終止條件的判斷前,還要先執(zhí)行迭代語(yǔ)句。也可以用continue跳轉(zhuǎn)到括號(hào)指明的外層循環(huán)中,格式為

continueouterLable;例如outer:for(inti=0;i<10;i++)

{//外層循環(huán)

inner:for(intj=0;j<10;j++) {//內(nèi)層循環(huán)

if(i<j){

……

continueouter;

}

……

}

…}1/8/202424Java根本語(yǔ)法〔下〕返回語(yǔ)句returnreturn語(yǔ)句從當(dāng)前方法中退出,返回到調(diào)用該方法的語(yǔ)句處,并從緊跟該語(yǔ)句的下一條語(yǔ)句繼續(xù)程序的執(zhí)行。返回語(yǔ)句有兩種格式:

return expression; return;

return語(yǔ)句通常用在一個(gè)方法體的最后,否那么會(huì)產(chǎn)生編譯錯(cuò)誤,除非用在if-else語(yǔ)句中1/8/202425Java根本語(yǔ)法〔下〕異常處理語(yǔ)句包括try,catch,finally,throw語(yǔ)句;與c/c++相比,是Java特有的語(yǔ)句。我們將在異常一章中介紹。1/8/202426Java根本語(yǔ)法〔下〕方法的參數(shù)參數(shù)的類(lèi)型可以是簡(jiǎn)單數(shù)據(jù)類(lèi)型,也可以是引用數(shù)據(jù)類(lèi)型。Java總是使用值傳遞,方法接收參數(shù)的值,但不能改變這些參數(shù)的值,包括引用數(shù)據(jù)類(lèi)型。對(duì)于引用數(shù)據(jù)類(lèi)型參數(shù)方法可以通過(guò)引用修改其引用的對(duì)象的值,但不能改變其引用本身的值,例如不能讓引用參數(shù)指向新的對(duì)象1/8/202427Java根本語(yǔ)法〔下〕方法的重載同一個(gè)類(lèi)中的多個(gè)同名方法重載方法的參數(shù)列表必須不同,參數(shù)類(lèi)型的區(qū)分度一定要足夠,例如不能是同一簡(jiǎn)單類(lèi)型的參數(shù),如int與long。重載方法的返回值類(lèi)型可以相同,也可以不同1/8/202428Java根本語(yǔ)法〔下〕方法的重載intsquare(inti)intsquare(intj)longsquare(longl)doublesquare(doubled)1/8/202429Java根本語(yǔ)法〔下〕方法的重載例如publicclassSquareOverload{/*publicstaticintsquare(intn){System.out.println("IntegerSquare");returnn*n;}*/publicstaticlongsquare(longl){System.out.println("LongSquare");returnl*l;}publicstaticdoublesquare(doubled){System.out.println("DoubleSquare");returnd*d;}publicstaticvoidmain(String[]args){intn=5;longl=100;doubled=1000.0;Syst

溫馨提示

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

評(píng)論

0/150

提交評(píng)論