所有for循環(huán)都可以用while循環(huán)改寫?
1、結(jié)論
可以,只是for循環(huán)寫起來、看起來、理解都簡(jiǎn)單明了。
2、解釋
所有for循環(huán)都可以用while循環(huán)改寫:是的。for 循環(huán)一般針對(duì)循環(huán)變量和每次循環(huán)后對(duì)循環(huán)變量操作比較簡(jiǎn)單的場(chǎng)景,寫出來的循環(huán)比較簡(jiǎn)潔,循環(huán)過程如何控制一目了然。而且在 for 語句的第一個(gè)表達(dá)式中進(jìn)行循環(huán)變量的初始化,使得整個(gè)循環(huán)看上去比較完整,更便于作為一個(gè)整體去表達(dá)、理解循環(huán)的過程。
?
while 循環(huán)一般針對(duì)循環(huán)控制較為復(fù)雜的場(chǎng)景。while 循環(huán)變量的初始化、變量的操作以及循環(huán)條件分別在不同的地方,其循環(huán)控制的運(yùn)算操作復(fù)雜度有可能會(huì)高于循環(huán)體本身,甚至在循環(huán)體中所進(jìn)行的就是循環(huán)變量的運(yùn)算操作。此時(shí)如果用 for 循環(huán)來寫,for 循環(huán)的優(yōu)勢(shì)無法體現(xiàn),而用 while 循環(huán)的話,在結(jié)構(gòu)上初始化、變量操作以及循環(huán)條件判斷結(jié)構(gòu)清晰,便于針對(duì)不同的部分分別閱讀、分析。
?
首先,兩者從表達(dá)能力上說是等價(jià)的,即兩者能夠完成的事情是一樣的。其次,由于for語句將初始化,循環(huán)條件和每次循環(huán)后對(duì)循環(huán)變量的修改放在一起,比較清晰直觀。因此for語句常用于能夠預(yù)先判斷循環(huán)次數(shù)的循環(huán)或遍歷中。如遍歷一個(gè)數(shù)組,或者執(zhí)行某操作若干次之類。此時(shí)用for語句較優(yōu)。