最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Java零基礎(chǔ)快速入門|控制語(yǔ)句(下)

2021-02-02 14:03 作者:動(dòng)力節(jié)點(diǎn)小王本王  | 我要投稿


本篇文章主要內(nèi)容:

循環(huán)語(yǔ)句

for

while

do...while

轉(zhuǎn)向語(yǔ)句

break

continue

循環(huán)語(yǔ)句

在不少實(shí)際問題中有許多具有規(guī)律性的重復(fù)操作,因此在程序中就需要重復(fù)執(zhí)行某些語(yǔ)句。一組被重復(fù)執(zhí)行的語(yǔ)句稱之為循環(huán)體,能否繼續(xù)重復(fù),取決于循環(huán)的終止條件。

循環(huán)結(jié)構(gòu)是在一定條件下反復(fù)執(zhí)行某段程序的流程結(jié)構(gòu),被反復(fù)執(zhí)行的程序被稱為循環(huán)體。循環(huán)語(yǔ)句是由循環(huán)體及循環(huán)的終止條件兩部分組成的。

為了幫助大家理解循環(huán)語(yǔ)句存在的意義,我們來(lái)看一段代碼:

?以上程序的業(yè)務(wù)背景是:輸出100?行“hello world!”,如果我們像以上方式進(jìn)行代碼編寫的話,代碼將無(wú)法得到重復(fù)使用,大家也可以看到“System.out.println("hello??world!")”這行代碼重復(fù)出現(xiàn),直到輸出100 個(gè)為止。顯然程序應(yīng)該找一種更好的實(shí)現(xiàn)方式,這個(gè)時(shí)候我們就可以借助java 語(yǔ)言中的循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)了。

Java中的循環(huán)語(yǔ)句共包括三個(gè),分別是:for 循環(huán)、while 循環(huán)、do..while 循環(huán)。


for

接下來(lái)我們先來(lái)學(xué)習(xí)for 循環(huán)。for 循環(huán)的語(yǔ)法格式如下圖所示:

?

for 循環(huán)語(yǔ)法結(jié)構(gòu)

對(duì)以上 for 循環(huán)語(yǔ)法結(jié)構(gòu)進(jìn)行說(shuō)明:初始化表達(dá)式最先執(zhí)行,并且在整個(gè)循環(huán)當(dāng)中初始化表達(dá)式只執(zhí)行一次,布爾表達(dá)式結(jié)果是 true?或者 falsetrue 表示循環(huán)可以繼續(xù)執(zhí)行,false 示循環(huán)結(jié)束,循環(huán)體當(dāng)中的代碼就是需要反復(fù)執(zhí)行的代碼,更新表達(dá)式一般是用來(lái)更新某個(gè)變量的值,更新操作之后可能布爾表達(dá)式的結(jié)果就不再是 true 了。

那么 for 循環(huán)的執(zhí)行順序以及原理如下圖所示:

for 循環(huán)語(yǔ)句執(zhí)行順序及原理

對(duì)于 for??循環(huán)來(lái)說(shuō),初始化表達(dá)式、布爾表達(dá)式、更新表達(dá)式都不是必須的,當(dāng)布爾表達(dá)式缺失的時(shí)候,沒有條件控制的前提下,會(huì)形成死循環(huán),我們來(lái)看一下最簡(jiǎn)單的 for 循環(huán)形式:

執(zhí)行結(jié)果如下圖所示:

死循環(huán)輸出結(jié)果

最常見的for 循環(huán)是怎樣的呢?看以下代碼:

運(yùn)行結(jié)果如下圖所示:

for 循環(huán)輸出 1~10

對(duì)以上代碼進(jìn)行分析:首先執(zhí)行int?i?= 1,并且只執(zhí)行一次,定義初始化變量i,賦值1然后判斷i?<= 10?結(jié)果為true,則執(zhí)行循環(huán)體打印 i?= 1,循環(huán)體結(jié)束之后,執(zhí)行 i++,然后 i?成了 2,繼續(xù)判斷 i?<= 10?結(jié)果為true,則執(zhí)行循環(huán)體打印 i?= 2,如此循環(huán)執(zhí)行,直到打印i?= 10 之后,再執(zhí)行 i++i?變成了11,然后判斷 i?<= 10?結(jié)果為false,循環(huán)結(jié)束,這樣就完成了1~10 的輸出,當(dāng)然程序不是固定的,大家也可以把條件i?<= 10?修改為i < 11,這樣也是可以的。

關(guān)于for 循環(huán)的使用我們還需要注意初始化變量的作用域,在for 循環(huán)當(dāng)中聲明的變量只在for?循環(huán)中有效,當(dāng) for 循環(huán)結(jié)束之后,初始化變量的內(nèi)存就釋放了/消失了,所以在 for 循環(huán)之外是無(wú)法訪問該變量的,例如以下代碼在編譯的時(shí)候就會(huì)報(bào)錯(cuò)了:

?當(dāng)然,這樣寫就不會(huì)報(bào)錯(cuò)了:

為什么這樣寫就可以了呢?那是因?yàn)?i 變量的作用域已經(jīng)被擴(kuò)大了,不再只是 for?循環(huán)中可以使用,for 循環(huán)之外也可以使用,換句話說(shuō),以上的for 循環(huán)結(jié)束之后i 變量的內(nèi)存并不會(huì)被釋放。后續(xù)的程序可以繼續(xù)使用。

i 變量的作用域是在整個(gè) test()方法中都有效,直到 test()方法執(zhí)行結(jié)束的時(shí)候才會(huì)釋放i 變量的內(nèi)存空間。接下來(lái)我們?cè)賮?lái)看看for 循環(huán)還有哪些其它的寫法:

以上程序運(yùn)行結(jié)果,請(qǐng)看下圖:

for 循環(huán)的其它編寫方式執(zhí)行結(jié)果

接下來(lái),我們?cè)偈褂?/span>for?循環(huán)實(shí)現(xiàn)1~100?所有數(shù)字的求和,實(shí)現(xiàn)思路是:定義變量 i,初始值從 1?開始,每循環(huán)一次加1,這樣就可以取到1~100?的每一個(gè)整數(shù)了,那么求和怎么做呢?

求和就是將 1~100?的每一個(gè)整數(shù)累加,這必然需要提前定義一個(gè)變量,使用變量實(shí)現(xiàn)累加,例如:a?+= 1,a?+= 2,a?+= 3...,代碼如下所示:

運(yùn)行結(jié)果如下所示:

1~100 所有整數(shù)求和

通過(guò)以上程序我們可以學(xué)到什么?

編程語(yǔ)言當(dāng)中的累加可以使用擴(kuò)展類賦值運(yùn)算符+=來(lái)實(shí)現(xiàn),另外 sum?變量為什么定義到for 循環(huán)外面,而不是定義到循環(huán)體當(dāng)中呢?

那是因?yàn)楫?dāng)定義到循環(huán)體內(nèi)之后,每一次循環(huán)體在執(zhí)行的時(shí)候,都會(huì)重新定義sum 變量,這樣會(huì)讓sum 量歸 0,無(wú)法達(dá)到累加的效果。

接下來(lái),我們?cè)谝陨铣绦虻幕A(chǔ)之上實(shí)現(xiàn)1~100 所有奇數(shù)的和,編程思路是:在累加之前先判斷變量i 是否為奇數(shù),如果是奇數(shù)則累加,這就需要在sum?+= i 外面套一個(gè) if 語(yǔ)句進(jìn)行控制,代碼如下所示:

運(yùn)行結(jié)果如下所示:

1~100 所有奇數(shù)和的執(zhí)行結(jié)果

其實(shí)以上的方式是將每一個(gè)數(shù)字取出來(lái),然后再判斷是否為奇數(shù),這種方式會(huì)導(dǎo)致循環(huán)次數(shù)達(dá)到100 次,實(shí)際上可以換成另外一種解決方案,假設(shè)從 1 開始,每次累加2,那么每次取出的數(shù)字為 1,3,5...,這樣正好每次取出的數(shù)字都是奇數(shù),可以直接累加了,這樣循環(huán)的次數(shù)基本上會(huì)減半,效率則提高了,這種代碼既優(yōu)雅,又高效。請(qǐng)看以下代碼:

運(yùn)行結(jié)果如下所示:

1~100 所有奇數(shù)和的執(zhí)行結(jié)果

以上演示的所有循環(huán)都是單層的,循環(huán)當(dāng)中可以嵌套循環(huán)嗎?

答案是:當(dāng)然可以,之前我們就說(shuō)過(guò)所有控制語(yǔ)句都是可以嵌套使用的,當(dāng)循環(huán)A 中嵌套循環(huán)B?的時(shí)候就等于在A 循環(huán)體中的代碼是B 循環(huán)。

其實(shí)大家在學(xué)習(xí)循環(huán)嵌套的時(shí)候完全沒必要特殊化對(duì)待,完全可以把 A 循環(huán)體當(dāng)中的B 循環(huán)看做是一段普通的Java代碼。接下來(lái)我們看一段代碼:

運(yùn)行結(jié)果如下圖所示:

for 循環(huán)嵌套

分析以上for 循環(huán)嵌套,請(qǐng)看下圖:

for 循環(huán)嵌套分析

分析循環(huán)嵌套的小竅門,如下圖所示:

for 循環(huán)嵌套小竅門

學(xué)習(xí)了 for 循環(huán)嵌套的使用,我們一起來(lái)寫一下經(jīng)典的九九乘法表,九九乘法表的結(jié)構(gòu)大家還記得嗎,我們一起來(lái)回顧一下小學(xué)的知識(shí)嘿嘿):

九九乘法表結(jié)構(gòu)

通過(guò)觀察九九乘法表結(jié)構(gòu)我們可以看出來(lái)它有9 行,所以可以得出一定需要以下代碼:

運(yùn)行結(jié)果如下:

九九乘法表 9 行

觀察上圖我們可以得出i 是行號(hào),那么再次觀察九九乘法表的規(guī)律得知,第 1 1 個(gè)式子,

2 2 個(gè)式子,第 3 3 個(gè)式子...,第 9 9 個(gè)式子,那么結(jié)論是第i 行有i 個(gè)式子,以上

循環(huán)確定為外層循環(huán),共循環(huán) 9 次,外層循環(huán)每循環(huán)一次要保證能夠輸出九九乘法表的1 整行。

那么輸出九九乘法表 1 整行的時(shí)候又需要一個(gè)循環(huán)進(jìn)行控制,而且這個(gè)循環(huán)被放到內(nèi)部,循環(huán)的次數(shù)隨著行號(hào)的變化而變化。代碼如下所示:

運(yùn)行結(jié)果如下所示:

九九乘法表每個(gè)表達(dá)式的執(zhí)行結(jié)果

分析以上代碼,請(qǐng)看下圖:

分析九九乘法表程序

?接下來(lái)我們?cè)诿恳粋€(gè)“結(jié)果”前添加“i * j = ”,代碼如下所示:

運(yùn)行結(jié)果如下所示:

九九乘法表運(yùn)行結(jié)果

通過(guò)以上代碼的學(xué)習(xí),需要每位讀者能夠掌握什么是循環(huán),為什么要使用循環(huán),for?循環(huán)的語(yǔ)法結(jié)構(gòu)是什么,for 循環(huán)的執(zhí)行順序以及原理是什么,嵌套的 for 循環(huán)又應(yīng)該怎么理解,大家也可以挑戰(zhàn)一下三層 for 循環(huán)嵌套,或者更多。總之 for 循環(huán)在實(shí)際開發(fā)中使用非常頻繁, 大家務(wù)必掌握。


while

循環(huán)語(yǔ)句除了for 循環(huán)之外還有while do..while,接下來(lái)我們先來(lái)看一下 while 循環(huán),首先學(xué)習(xí)while 循環(huán)的語(yǔ)法結(jié)構(gòu),如下圖所示:

while 循環(huán)語(yǔ)法結(jié)構(gòu)

通過(guò)上圖可以看出 while 循環(huán)的語(yǔ)法結(jié)構(gòu)非常簡(jiǎn)單,它的執(zhí)行順序以及原理是這樣的,先判斷布爾表達(dá)式的結(jié)果,如果是true,則執(zhí)行循環(huán)體,循環(huán)體結(jié)束之后,再次判斷布爾表達(dá)式的結(jié)果,如果是true,再執(zhí)行循環(huán)體,循環(huán)體結(jié)束之后,再判斷布爾表達(dá)式的結(jié)果,直到結(jié)果false 的時(shí)候,while 循環(huán)結(jié)束。如果起初第一次判斷布爾表達(dá)式結(jié)果的時(shí)候就是 false,那么while 循環(huán)體執(zhí)行次數(shù)就為 0 了。它的執(zhí)行順序以及原理也可以參見下圖:

while 循環(huán)執(zhí)行順序以及原理

?

通過(guò) while 循環(huán)的執(zhí)行原理可以得出while 循環(huán)的循環(huán)體執(zhí)行次數(shù)可能是 0 次,也可能是 N

次。那么要想使用while 循環(huán)實(shí)現(xiàn)一個(gè)死循環(huán),代碼應(yīng)該怎么寫呢?

?運(yùn)行結(jié)果就不再給大家展示了,要使用 while 實(shí)現(xiàn)一個(gè)死循環(huán)是非常簡(jiǎn)單的,讓判斷條件一直為true 就可以了。那么使用while 循環(huán)實(shí)現(xiàn)輸出 1~10 應(yīng)該怎么做呢?

運(yùn)行結(jié)果如下圖所示:

使用while 循環(huán)輸出 1~10

其實(shí)使用while 循環(huán)輸出 1~10 不止有以上這一種方式,還有其他方式,例如:

運(yùn)行結(jié)果如下圖所示:

使用while 循環(huán)輸出 1~10

當(dāng)然,大家還可以想想有沒有其它的寫法,可以自己寫一寫,例如:

再如:

使用while 循環(huán)計(jì)算 1~100 所有偶數(shù)的和,應(yīng)該怎么做呢?

運(yùn)行結(jié)果如下圖所示:

while 循環(huán)計(jì)算 1~100 所有偶數(shù)和

實(shí)際上 while 循環(huán)可以看做是 for 循環(huán)的另一種變形寫法,本質(zhì)上是一樣的,執(zhí)行效率上也是一樣的,硬要說(shuō)它們有什么不同的話,首先while 循環(huán)語(yǔ)法結(jié)構(gòu)比for 更簡(jiǎn)單,for 循環(huán)的計(jì)數(shù)器比while 更清楚一些,另外 for 循環(huán)的計(jì)數(shù)器對(duì)應(yīng)的變量可以在for 循環(huán)結(jié)束之后就釋放掉,但是 while 循環(huán)的計(jì)數(shù)器對(duì)應(yīng)的變量聲明在 while 循環(huán)外面,擴(kuò)大了該變量的作用域???/span>之,不管是for 還是while,大家都必須掌握,因?yàn)檫@兩個(gè)循環(huán)使用最多。

?

do…while

do..while?循環(huán)是while 循環(huán)的變形,它們的區(qū)別在于 do..while ?循環(huán)可以保證循環(huán)體執(zhí)行次數(shù)至少為 1?次,也就是說(shuō) do..while 循環(huán)的循環(huán)體執(zhí)行次數(shù)是 1~N 次,它有點(diǎn)兒先斬后奏的意思,而while 循環(huán)的循環(huán)體執(zhí)行次數(shù)為 0~N 次。

為什么do..while 循環(huán)可以保證至少執(zhí)行一次呢,它和while 循環(huán)的區(qū)別在哪里呢?

實(shí)際上是因?yàn)樵陂_始執(zhí)行while 循環(huán)的時(shí)候,最先執(zhí)行的是條件判斷,只有條件為true 的時(shí)候才會(huì)執(zhí)行循環(huán)體,既然是這樣,那么條件就有可能為 false,這個(gè)時(shí)候就會(huì)導(dǎo)致循環(huán)體執(zhí)行次數(shù)為 0 次,俗話說(shuō),還沒開始就結(jié)束了。而 do..while 循環(huán)最先執(zhí)行的不是條件判斷,它會(huì)先執(zhí)行循環(huán)體,然后再進(jìn)行條件判斷,這樣就可以保證循環(huán)體至少執(zhí)行一次嘍!

接下來(lái)我們一起來(lái)看看do..while 循環(huán)的語(yǔ)法結(jié)構(gòu),以及執(zhí)行順序,如下圖所示:

do..while 語(yǔ)法結(jié)構(gòu)和執(zhí)行順序

或者參見下圖:

do..while 語(yǔ)法結(jié)構(gòu)和執(zhí)行順序

上圖中清晰的描述了do..while 循環(huán)執(zhí)行順序,這里就不再贅述,但需要注意的是 do..while 循環(huán)在最后的時(shí)候有一個(gè)半角的分號(hào)“;”,這個(gè)不能丟,丟掉之后編譯器就報(bào)錯(cuò)了。接下來(lái)我們看一個(gè)do..while 循環(huán)的典型案例。

示例代碼:業(yè)務(wù)背景:我們通常在使用的一個(gè)系統(tǒng)的時(shí)候需要登錄,假設(shè)用戶名或者密碼記不清楚了,你是不是需要不斷的“反復(fù)的”輸入用戶名和密碼,這就是一個(gè)非常典型的循環(huán)案例,而這個(gè)循環(huán)當(dāng)中首先要做的第一件事兒不是判斷用戶名和密碼是否正確,它的起點(diǎn)是先讓用戶輸入用戶名和密碼,所以這個(gè)時(shí)候我們就需要使用 do..while 循環(huán)來(lái)完成。請(qǐng)看以下代碼:

運(yùn)行效果如下圖所示:

do..while 案例

解釋以上程序:先提示用戶輸入用戶名和密碼,然后判斷用戶名和密碼,當(dāng)用戶名不是admin?或者密碼不是 123 的時(shí)候繼續(xù)提示用戶輸入用戶名和密碼,直到用戶輸入的用戶名是admin 并且密碼是 123 的時(shí)候循環(huán)結(jié)束,循環(huán)結(jié)束之后輸出登錄成功的信息,只要循環(huán)沒有結(jié)束就表示用戶名和密碼還是不對(duì),當(dāng)然,在現(xiàn)實(shí)的系統(tǒng)當(dāng)中我們不可能允許用戶無(wú)限制的輸入用戶名和密碼,通常會(huì)給幾次輸入機(jī)會(huì),當(dāng)機(jī)會(huì)用完之后還是沒有登錄成功,通常該賬戶就被鎖定了,你不妨試試這種業(yè)務(wù)又應(yīng)該如何完成。

總之while do..while?循環(huán)的區(qū)別就在于do..while?會(huì)先執(zhí)行一次循環(huán)體,然后再判斷條件, 這樣do..while 的循環(huán)體至少執(zhí)行一次。而while 循環(huán)則是先判斷條件是否合法,如果不合法, 則循環(huán)體就沒有任何執(zhí)行的機(jī)會(huì)。while 循環(huán)體執(zhí)行次數(shù)是0~N 次,但是 do..while 循環(huán)體執(zhí)行次數(shù)則是 1~N 次。

?

轉(zhuǎn)向語(yǔ)句

轉(zhuǎn)向語(yǔ)句用于實(shí)現(xiàn)循環(huán)執(zhí)行過(guò)程中程序流程的跳轉(zhuǎn),在Java 中轉(zhuǎn)向語(yǔ)句有break continue語(yǔ)句。當(dāng)然,還包括其它的,例如return 語(yǔ)句,這里主要給大家說(shuō)一下 break continue 語(yǔ)句。

?

break

使用break 這一個(gè)單詞就可以在java 語(yǔ)言中自成一條java 語(yǔ)句,break 語(yǔ)句的編寫很簡(jiǎn)單, 例如“break;”,那么它可以用在哪里呢?

首先它可以使用在switch 語(yǔ)句當(dāng)中,用來(lái)終止 switch 語(yǔ)句的執(zhí)行,這個(gè)之前我們用過(guò),這里不再贅述,break語(yǔ)句重點(diǎn)是使用在循環(huán)語(yǔ)句當(dāng)中,用來(lái)終止/跳出循環(huán)。

例如有這樣一個(gè)業(yè)務(wù):從鍵盤不斷的接收用戶輸入的整數(shù),只要用戶輸入的數(shù)字在[0~100]之間,則將輸入的數(shù)字累加,一旦用戶輸入的整數(shù)不在[0-100]的范圍,則終止循環(huán)的執(zhí)行,并輸出計(jì)算結(jié)果。請(qǐng)看下面的代碼:

運(yùn)行效果如下圖所示:

break 初步使用

通過(guò)以上程序我們得知當(dāng)用戶輸入的數(shù)字不在[0-100]范圍內(nèi)的時(shí)候 break 語(yǔ)句執(zhí)行,while循環(huán)結(jié)束了。

那么,當(dāng)循環(huán)語(yǔ)句多層嵌套的時(shí)候break 語(yǔ)句終止的是哪個(gè)循環(huán)呢?我們來(lái)看以下的程序:

運(yùn)行結(jié)果如下所示:

break 終止的是哪個(gè)循環(huán)

分析以上程序,請(qǐng)看下圖:

循環(huán)嵌套時(shí),break 終止哪個(gè)?

通過(guò)上圖的分析,可以得知break 語(yǔ)句默認(rèn)情況下只能終止離它“最近”的“一層”循環(huán)。以上的 break 語(yǔ)句則終止的是內(nèi)部循環(huán),不影響外部循環(huán)的執(zhí)行。

那么 break 語(yǔ)句可以用來(lái)終止指定的循環(huán)嗎?請(qǐng)看以下代碼:

運(yùn)行結(jié)果如下圖所示:

終止指定的循環(huán)

通過(guò)以上程序的測(cè)試,我們可以得知當(dāng)多層循環(huán)嵌套的時(shí)候,可以給每個(gè)循環(huán)設(shè)置標(biāo)識(shí), 例如:first:for...、second:for...,當(dāng)某個(gè)條件成立時(shí),想終止指定循環(huán)的話,可以這樣做:break first;或者break second;,這樣指定的循環(huán)就結(jié)束了。

總之,break 語(yǔ)句出現(xiàn)在循環(huán)當(dāng)中用來(lái)終止循環(huán)的執(zhí)行。例如:運(yùn)動(dòng)場(chǎng)上的運(yùn)動(dòng)員跑圈兒, 跑了一圈又一圈,這顯然是循環(huán)機(jī)制,假設(shè)比賽要求跑10 圈兒,或者 20?圈兒,那么當(dāng)計(jì)數(shù)器等于 10,或者20 的時(shí)候,循環(huán)就結(jié)束了,如果中途發(fā)生意外呢,例如運(yùn)動(dòng)員暈倒了,那么此時(shí)在沒有達(dá)到10 圈兒或 20 圈兒的時(shí)候是不是也應(yīng)該終止此循環(huán)的執(zhí)行,要想讓循環(huán)結(jié)束則執(zhí)break 語(yǔ)句就可以了。

?

continue

continue 語(yǔ)句也是單個(gè)單詞自成一條java 語(yǔ)句,例如“continue;”,它和 break 語(yǔ)句都是用來(lái)控制循環(huán)的,break 語(yǔ)句是用來(lái)終止循環(huán)的執(zhí)行,而 continue 語(yǔ)句則是用來(lái)終止當(dāng)前本次循環(huán),直接進(jìn)入下一次循環(huán)繼續(xù)執(zhí)行。

請(qǐng)參照以下代碼以及運(yùn)行結(jié)果進(jìn)行對(duì)比學(xué)習(xí):

運(yùn)行結(jié)果如下圖所示:

break 和continue 對(duì)比

對(duì)以上代碼以及執(zhí)行結(jié)果進(jìn)行分析,請(qǐng)看下圖:

break 和continue 對(duì)比

對(duì)于以上程序,當(dāng)“continue;”語(yǔ)句執(zhí)行的時(shí)候,當(dāng)前本次循環(huán)剩下的代碼就不再執(zhí)行了

不再執(zhí)行下面的輸出語(yǔ)句),直接執(zhí)行“i++”去了,而 break 就不同了,當(dāng)以上程序“break;語(yǔ)句執(zhí)行之后整個(gè)for 循環(huán)就結(jié)束了。

對(duì)于break 語(yǔ)句有“break first;”這種寫法,其實(shí)continue 語(yǔ)句也是有這種語(yǔ)法機(jī)制的,這里就不再贅述了,大家可以自己編寫程序測(cè)試一下。


對(duì)于 break?continue?語(yǔ)句的區(qū)別有這樣一個(gè)小的現(xiàn)實(shí)情景,大家可以借鑒理解一下:

公司銷售部銷售經(jīng)理要進(jìn)行人員招聘,預(yù)約了 10?個(gè)應(yīng)聘者,這10?個(gè)應(yīng)聘者在辦公室門口長(zhǎng)凳上按照一定的次序坐著等待,銷售經(jīng)理一個(gè)一個(gè)輪流進(jìn)行面試,當(dāng)輪到第3個(gè)應(yīng)聘者面試的時(shí)候,銷售經(jīng)理突然接到了一通電話,說(shuō)家里有事兒了,那么此時(shí)銷售經(jīng)理就不得不終止今天的面試,此時(shí)銷售經(jīng)理執(zhí)行了break?語(yǔ)句,循環(huán)結(jié)束了,剩下的就不再面試了。那么假設(shè)銷售經(jīng)理沒有接到這通電話則會(huì)繼續(xù)輪流面試,他為每一個(gè)應(yīng)聘者準(zhǔn)備了 5?個(gè)問題,假設(shè)輪到第 6

個(gè)應(yīng)聘者面試,在面試過(guò)程中問完第1個(gè)問題之后銷售經(jīng)理就知道這人不適合這個(gè)崗位,那么

此時(shí)剩下的 4 個(gè)問題就不再問了當(dāng)前本次循環(huán)結(jié)束,直接對(duì)著門口喊了一句:下一個(gè)應(yīng)聘的進(jìn)來(lái)。這個(gè)過(guò)程就相當(dāng)于銷售經(jīng)理執(zhí)行了continue 語(yǔ)句。

總之,break 用來(lái)終止循環(huán),continue 用來(lái)中斷當(dāng)前本次循環(huán),直接進(jìn)入下一次循環(huán)繼續(xù)執(zhí)行。

?

難點(diǎn)解惑

本章節(jié)內(nèi)容雖然很重要,但是每一個(gè)都不是很復(fù)雜,比較容易掌握,如果難點(diǎn),對(duì)于初學(xué)者來(lái)說(shuō)switch 語(yǔ)句也不是那么容易掌握的。請(qǐng)看以下代碼:

我們來(lái)分析一下以上程序,首先語(yǔ)法上沒有錯(cuò)誤,可以編譯通過(guò),有人可能認(rèn)為 default 還可以寫在這個(gè)位置?是的,default?可以寫在任何位置,但它的執(zhí)行時(shí)機(jī)是不變的,永遠(yuǎn)都是在所有分支都沒有匹配成功的時(shí)候才會(huì)執(zhí)行,對(duì)于以上程序來(lái)說(shuō) default?分支是不會(huì)執(zhí)行的, 因?yàn)?/span>y?最初等于3,與第一個(gè)分支會(huì)匹配成功。當(dāng)?shù)谝粋€(gè)分支匹配成功之后,執(zhí)行 y++,此時(shí)y?等于 4。由于沒有 break?語(yǔ)句,會(huì)發(fā)生 case?穿透現(xiàn)象,繼續(xù)執(zhí)行第二個(gè)分支 y++y?的值最終5。

我們對(duì)以上程序進(jìn)行編譯和運(yùn)行,來(lái)看一下我們的分析是否是正確的,請(qǐng)看下圖:

Test 程序的編譯和運(yùn)行

通過(guò)以上的測(cè)試結(jié)果,可以看出,我們的分析是正確的。


小結(jié)

本章節(jié)內(nèi)容在以后的開發(fā)中會(huì)經(jīng)常的使用,因?yàn)檐浖芏鄷r(shí)候都需要處理業(yè)務(wù)邏輯,那么處理邏輯的過(guò)程是需要控制語(yǔ)句來(lái)完成的,所以本章節(jié)內(nèi)容非常重要。

本章節(jié)中所講到的控制語(yǔ)句都很常用,如果要說(shuō)哪些使用頻率最高,其中?if?語(yǔ)句、for?循環(huán)、while?循環(huán)使用最為頻繁。對(duì)于這幾個(gè)語(yǔ)句大家可以著重掌握。


最后附Java零基礎(chǔ)視頻教程給大家,配合學(xué)習(xí)效果更佳?。?/strong>







Java零基礎(chǔ)快速入門|控制語(yǔ)句(下)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
兴宁市| 芦溪县| 潜山县| 涪陵区| 肥城市| 嘉黎县| 潜山县| 紫金县| 静宁县| 平舆县| 恭城| 临武县| 安国市| 大庆市| 科尔| 翁源县| 鱼台县| 甘南县| 高雄县| 米易县| 深泽县| 临汾市| 库伦旗| 科尔| 额敏县| 沙河市| 贞丰县| 宝应县| 高平市| 云龙县| 乌审旗| 巨鹿县| 色达县| 通道| 临江市| 丹凤县| 贡山| 乌拉特后旗| 怀化市| 肇州县| 湾仔区|