摘要:上一節(jié)我們學(xué)習(xí)了循環(huán)的使用以及語(yǔ)法,這一節(jié)看看循環(huán)的語(yǔ)法結(jié)構(gòu)和使用場(chǎng)景。循環(huán)比循環(huán)結(jié)構(gòu)上更加簡(jiǎn)單,它表達(dá)了只要就循環(huán)的概念。當(dāng)數(shù)組為空的時(shí)候,自然而然就退出循環(huán)了。
上一節(jié)我們學(xué)習(xí)了for循環(huán)的使用以及語(yǔ)法,這一節(jié)看看while循環(huán)的語(yǔ)法結(jié)構(gòu)和使用場(chǎng)景。
while循環(huán)比f(wàn)or循環(huán)結(jié)構(gòu)上更加簡(jiǎn)單,它表達(dá)了 只要XXX就循環(huán)的概念。
比如下面這個(gè)簡(jiǎn)單例子
while循環(huán)實(shí)現(xiàn)數(shù)組從頭部出棧
這個(gè)例子用來(lái)講while循環(huán),好像有點(diǎn)大材小用了,這個(gè)循環(huán)的意思是,只要數(shù)組不為空,就一直從頭部出來(lái)一個(gè)元素,病打印它。當(dāng)數(shù)組為空的時(shí)候,自然而然就退出循環(huán)了。
誠(chéng)如你所見(jiàn),while循環(huán)的結(jié)構(gòu)是很簡(jiǎn)單的 while關(guān)鍵字后面跟一個(gè)括號(hào)表示條件,后面是一個(gè)花括號(hào)表示結(jié)構(gòu)體,相對(duì)于for循環(huán)而言,每次循環(huán)產(chǎn)生的變化被放入到結(jié)構(gòu)體內(nèi),這里我們不再舉那些非常簡(jiǎn)單的例子,與上一節(jié)遙相呼應(yīng),我們可以使用while循環(huán)書(shū)寫(xiě)和for循環(huán)類似的例子,如下:
while循環(huán)實(shí)現(xiàn)array_search
while循環(huán)實(shí)現(xiàn)in_array
while循環(huán)實(shí)現(xiàn)array_combine
同樣,while循環(huán)實(shí)現(xiàn)關(guān)聯(lián)數(shù)組的遍歷會(huì)有一些小麻煩,因?yàn)楂@取的key是非數(shù)值型的,所以在遍歷的時(shí)候和for循環(huán)一樣都可能遇到索引越界的錯(cuò)誤。
根據(jù)while循環(huán)的結(jié)構(gòu)你可能已經(jīng)猜到了,while循環(huán)的使用范圍可能沒(méi)有for循環(huán)廣泛,不過(guò),它獨(dú)到之處在于結(jié)構(gòu)體簡(jiǎn)單,易于理解,在企業(yè)項(xiàng)目中會(huì)用于一些特殊場(chǎng)景中,例如我們寫(xiě)的出棧,計(jì)算,遞歸等等,那些有一個(gè)明確循環(huán)跳出條件的場(chǎng)景。比如我之前寫(xiě)過(guò)的計(jì)算自增會(huì)員卡號(hào),只要數(shù)據(jù)庫(kù)中有該卡號(hào)就一直遞增,直到數(shù)據(jù)庫(kù)沒(méi)有為止,拿到那個(gè)會(huì)員卡號(hào)給用戶,或者是另外一個(gè)例子,產(chǎn)生一系列不重復(fù)的隨機(jī)碼和數(shù)據(jù)庫(kù)已有兌換碼比對(duì),只要曾經(jīng)產(chǎn)生過(guò)并存入了數(shù)據(jù)庫(kù),就再次嘗試生成新的隨機(jī)碼,直到達(dá)到指定數(shù)量為止。
while循環(huán)的獨(dú)特造就了它的使用場(chǎng)景,讓更多不明確數(shù)組長(zhǎng)度以及跳出條件的業(yè)務(wù)能使用循環(huán),它能彌補(bǔ)for循環(huán)那種要求明確變化和跳出條件的業(yè)務(wù)缺陷,事實(shí)上,企業(yè)項(xiàng)目中的很多場(chǎng)景都不是純靠理論能支撐的,需要我們從一定的高度上去改造,結(jié)合實(shí)際,封裝歸納等等,來(lái)完成它,而while循環(huán)正是為我們解決特殊循環(huán)場(chǎng)景提供了有力的保障!
文章由甲爪cpa聯(lián)盟(http://www.jiazhua.com)整理編輯!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30621.html
摘要:二知識(shí)點(diǎn)最近在完成一個(gè)小作業(yè),題目要求通過(guò)代碼實(shí)現(xiàn),讓用戶輸入用戶名密碼,認(rèn)證成功后顯示歡迎信息,輸錯(cuò)三次后退出程序。 一、背景 人工智能這幾年一直都比較火,筆者一直想去學(xué)習(xí)一番;因?yàn)橐恢笔菑氖翽HP開(kāi)發(fā)工作,對(duì)于Python接觸并不算多,總是在關(guān)鍵時(shí)候面臨著基礎(chǔ)不牢,地動(dòng)山搖的尷尬,比如在遇到稍微深入些的問(wèn)題時(shí)候就容易卡殼,于是準(zhǔn)備從Python入門(mén)從頭學(xué)起; 筆者覺(jué)得應(yīng)該有不少人同...
摘要:遞歸函數(shù)還會(huì)受到瀏覽器調(diào)用棧的大小的限制。雖然迭代也會(huì)導(dǎo)致性能問(wèn)題,但是使用優(yōu)化的循環(huán)就可以代替長(zhǎng)時(shí)間運(yùn)行的遞歸函數(shù),可以提高新能,因?yàn)檫\(yùn)行一個(gè)循環(huán)比反復(fù)調(diào)用一個(gè)函數(shù)的開(kāi)銷要小。 本文章記錄本人在深入學(xué)習(xí)js循環(huán)中看書(shū)理解到的一些東西,加深記憶和并且整理記錄下來(lái),方便之后的復(fù)習(xí)。 選擇正確的循環(huán)體 在大部分編程語(yǔ)言中,代碼執(zhí)行的時(shí)間多數(shù)消耗在循環(huán)的執(zhí)行上。 js定義了4種...
摘要:基礎(chǔ)之控制結(jié)構(gòu)學(xué)習(xí)目標(biāo)代碼塊與縮進(jìn)條件語(yǔ)句語(yǔ)句語(yǔ)句的嵌套斷言循環(huán)循環(huán)循環(huán)中斷循環(huán)控制語(yǔ)句綜合嵌套列表解析式基礎(chǔ)相關(guān)鏈接學(xué)習(xí)目標(biāo)是簡(jiǎn)潔易學(xué)面向?qū)ο蟮木幊陶Z(yǔ)言。 Py...
摘要:后端知識(shí)點(diǎn)總結(jié)服務(wù)器服務(wù)器的作用接收客戶端的請(qǐng)求,查找需要的數(shù)據(jù)文件數(shù)據(jù)庫(kù)其它系統(tǒng),發(fā)送回客戶端。注意默認(rèn)情況下,若判定了某個(gè)相等條件則執(zhí)行該條件以及后續(xù)所有條件中的執(zhí)行語(yǔ)句必須配合關(guān)鍵字使用。 后端知識(shí)點(diǎn)總結(jié)——PHP 1.Web服務(wù)器 Web服務(wù)器的作用:接收客戶端(PC/PAD/PHONE)的請(qǐng)求,查找需要的數(shù)據(jù)(文件/數(shù)據(jù)庫(kù)/其它系統(tǒng)),發(fā)送回客戶端。 Web服務(wù)器分為兩種:...
閱讀 766·2021-10-09 09:44
閱讀 2050·2021-09-22 15:54
閱讀 5099·2021-09-22 10:55
閱讀 1466·2019-08-29 18:41
閱讀 801·2019-08-29 11:24
閱讀 2133·2019-08-28 18:20
閱讀 1050·2019-08-26 11:51
閱讀 3078·2019-08-26 11:00