第3章 Java流程控制語句_第1頁
第3章 Java流程控制語句_第2頁
第3章 Java流程控制語句_第3頁
第3章 Java流程控制語句_第4頁
第3章 Java流程控制語句_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

3.1分支語句

3.2循環(huán)語句

3.3跳轉(zhuǎn)語句3.1分支語句3.1.1if語句if語句是選擇結(jié)構(gòu)中最基本的語句。if語句有兩種形式:if和if-else。if語句有選擇地執(zhí)行語句,只有當(dāng)表達(dá)式條件為真(true)時(shí)執(zhí)行程序。if-else在表達(dá)式條件為真(true)與假(false)時(shí)各執(zhí)行不同的程序序列。1.if-else語句if-else語句的基本形式如下:if(布爾表達(dá)式){//根據(jù)布爾表達(dá)式的真假決定執(zhí)行不同的語句語句序列1//條件為真}[else{語句序列2//條件為假}]其中,布爾表達(dá)式一般為條件表達(dá)式或邏輯表達(dá)式。當(dāng)布爾表達(dá)式的值為true時(shí),執(zhí)行語句序列1;當(dāng)布爾表達(dá)式的值為false時(shí),執(zhí)行語句序列2。復(fù)雜條件下的if選擇結(jié)構(gòu)如表3.1所示。2.嵌套if語句在實(shí)際處理中,常會有許多條件需要判斷,因此要用到多個(gè)if,甚至在一個(gè)if中還有多個(gè)if,故稱做嵌套if。嵌套if語句的語法格式如下:if(布爾表達(dá)式A){語句序列Aif(布爾表達(dá)式B){語句序列B1}else{語句序列B2}…}else{if(布爾表達(dá)式C){語句序列C1}else{語句序列C2}}else子句不能單獨(dú)作為語句來使用,它必須和if配對使用。else總是與離它最近的if配對??梢允褂么罄ㄌ杹砀淖僫f-else的配對關(guān)系。3.if-elseif-else語句若出現(xiàn)的情況有兩種以上,則可用if-elseif-else語句。if-elseif-else語句的語法格式如下:if(布爾表達(dá)式1){語句序列1}elseif(布爾表達(dá)式2){語句序列2}elseif(布爾表達(dá)式N){語句序列N}else{語句序列M}程序執(zhí)行時(shí),首先判斷布爾表達(dá)式1的值,若為真,則順序執(zhí)行語句序列1,if語句結(jié)束;若為假,則判斷布爾表達(dá)式2的值,布爾表達(dá)式2的值若為真,則順序執(zhí)行語句序列2,if語句結(jié)束;布爾表達(dá)式2的值若為假,則判斷布爾表達(dá)式3的值……若所有的布爾表達(dá)式的值都為假,則執(zhí)行語句序列M,if語句結(jié)束。嵌套if選擇結(jié)構(gòu)如下:if(條件1){if(條件2){代碼塊1}else{代碼塊2}}else{代碼塊3}3.1.2switch語句在if語句中,布爾表達(dá)式的值只有兩種:true和false。若情況更多時(shí),就需要另外一種可提供更多選擇的語句:switch語句。根據(jù)一個(gè)整數(shù)表達(dá)式的值,switch語句可從一系列代碼中選出一段執(zhí)行。它的格式如下:switch(表達(dá)式){case常量1:語句序列1;break;case常量2:語句序列2;break;case常量N:語句序列N;break;[default:語句序列M;break;]}說明:(1)表達(dá)式的類型可以為byte、short、int、char。多分支語句把表達(dá)式的值與每個(gè)case子句中的常量進(jìn)行對比,如果匹配成功,則執(zhí)行該case子句后面的語句序列。(2)?case子句中的“常量N”必須是常量,而且所有case子句中的常量應(yīng)是不同的。(3)?default子句是可選的。(4)?break語句執(zhí)行完一個(gè)case分支后,使程序跳出switch語句,即終止switch語句的執(zhí)行。在一些特殊情況下,多個(gè)不同的case值要執(zhí)行一組相同的操作,這時(shí)可以不用break。使用switch語句時(shí),常見的一些錯(cuò)誤如下:(1)?case分支后忘記寫break,如圖3.7所示的運(yùn)行代碼及輸出結(jié)果。(2)?case子句的常量相同,如圖3.8所示的運(yùn)行代碼。(3)?default沒有放在末尾,如圖3.9所示的運(yùn)行代碼及輸出結(jié)果。(4)?switch表達(dá)式的值不是整型或字符型,如圖3.10所示的運(yùn)行代碼。3.2循環(huán)語句循環(huán)語句的作用是反復(fù)執(zhí)行一段語句序列,直到滿足終止循環(huán)的條件為止。一個(gè)循環(huán)一般包含以下四部分:(1)初始化部分:用來設(shè)置循環(huán)的一些初始條件,一般只執(zhí)行一次。(2)終止部分:通常是一個(gè)布爾表達(dá)式,每一次循環(huán)都要對該表達(dá)式求值,以驗(yàn)證是否滿足終止條件。(3)循環(huán)體部分:被反復(fù)執(zhí)行的一段語句序列,可以是一個(gè)單一語句,也可以是一個(gè)復(fù)合語句。(4)迭代部分:在當(dāng)前循環(huán)結(jié)束,下一次循環(huán)開始執(zhí)行之前執(zhí)行的語句,常常用來更新影響終止條件的變量,使循環(huán)最終結(jié)束。3.2.1while語句while語句的語法格式如下:[初始化部分]while(布爾表達(dá)式){//終止部分循環(huán)體部分[迭代部分]}在循環(huán)剛開始時(shí),會計(jì)算一次布爾表達(dá)式的值。而對于后來每一次額外的循環(huán),都會在開始前重新計(jì)算一次。當(dāng)布爾表達(dá)式的值為true時(shí),執(zhí)行循環(huán)體部分和迭代部分,然后再判斷布爾表達(dá)式的值。如果布爾表達(dá)式的值為false,則退出循環(huán);否則,重復(fù)上面的過程。3.2.2do-while語句do-while語句的語法格式如下:[初始化部分]do{循環(huán)體部分[迭代部分]}while(布爾表達(dá)式);//終止部分while和do-while唯一的區(qū)別就是do-while肯定會執(zhí)行一次。也就是說,至少會將其中的語句“過一遍”—即便表達(dá)式第一次計(jì)算為false。而在while循環(huán)語句中,若條件第一次就為false,那么不會執(zhí)行其中的語句。在實(shí)際應(yīng)用中,while比do-while更常用一些。3.2.3for語句for語句是循環(huán)語句中使用最為靈活、最為廣泛的一個(gè)。for語句在第一次反復(fù)之前要進(jìn)行初始化。隨后,它會進(jìn)行條件測試,而且在每一次反復(fù)的時(shí)候,進(jìn)行某種形式的“步進(jìn)”(Stepping)。for語句的語法格式如下:for([初始表達(dá)式];[布爾表達(dá)式];[步進(jìn)]){循環(huán)體部分}無論初始表達(dá)式、布爾表達(dá)式,還是步進(jìn),都可以置空。每次反復(fù)前,都要測試布爾表達(dá)式。若獲得的結(jié)果是false,就會繼續(xù)執(zhí)行緊跟在for后面的那行代碼。在每次循環(huán)的末尾,會計(jì)算一次步進(jìn)。說明:(1)?for語句執(zhí)行時(shí),首先執(zhí)行初始化操作,然后判斷終止條件是否滿足,如果滿足,則執(zhí)行循環(huán)體中的語句,最后執(zhí)行迭代部分。完成一次循環(huán)后,重新判斷終止條件。(2)初始化、終止以及迭代部分都可以為空語句(但分號不能省),三者均為空的時(shí)候,相當(dāng)于一個(gè)無限循環(huán)。(3)在初始化部分和迭代部分可以使用逗號語句來進(jìn)行多個(gè)操作。逗號語句是用逗號分隔的語句序列。使用for語句時(shí),常見的一些錯(cuò)誤如下:(1)變量未賦初值,如圖3.14所示的運(yùn)行代碼。(2)缺少循環(huán)條件,造成死循環(huán),如圖3.15所示的運(yùn)行代碼。(3)循環(huán)變量的值無變化,造成死循環(huán),如圖3.16所示的運(yùn)行代碼。(4)表達(dá)式全省略,造成死循環(huán),如圖3.17所示的運(yùn)行代碼及結(jié)果。3.2.4循環(huán)語句對比綜上所述的循環(huán)語句有while、do-while、for。當(dāng)需要多次重復(fù)執(zhí)行一個(gè)或多個(gè)任務(wù)的問題時(shí)可考慮使用循環(huán)語句來解決。上述三種循環(huán)語句都有四個(gè)必不可少的部分:初始化部分、布爾表達(dá)式、循環(huán)體部分、迭代部分,具體區(qū)別如下:(1)語法格式不同,如圖3.18所示。(2)執(zhí)行順序不同。while語句:先判斷,再執(zhí)行。do-while語句:先執(zhí)行,再判斷。for語句:先判斷,再執(zhí)行。(3)適用情況不同。循環(huán)次數(shù)確定的情況,通常選用for語句;循環(huán)次數(shù)不確定的情況,通常選用while和do-while語句。3.3跳轉(zhuǎn)語句3.3.1break語句在switch語句中,break語句用來終止switch語句的執(zhí)行,使程序從switch語句后的第一條語句開始執(zhí)行。break語句的第二種使用情況就是跳出它所指定的塊,并從緊跟該塊的第一條語句處執(zhí)行。break語句的語法格式如下:break[標(biāo)號];break有兩種形式:不帶標(biāo)號和帶標(biāo)號。標(biāo)號必須位于break語句所在的封閉語句塊的開始處。3.3.2continue語句continue語句只用于循環(huán)結(jié)構(gòu)中。它的語法格式如下:continue[標(biāo)號];不帶標(biāo)號的c

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論