一、循環(huán)
? ? ? ? 概念:重復(fù)執(zhí)行一段代碼(while雕擂、do while啡邑、for)
? ? ? ? ? ? ? ? 注:1)、避免死循環(huán)? ? 2)井赌、提高效率(減少時(shí)間復(fù)雜度)
? ? ? ? 循環(huán)三要素:初始值谤逼、迭代量、條件
1仇穗、while(條件表達(dá)式返回true或false){
? ? ? ? ? ? 執(zhí)行代碼
????}
? ? var 初始值變量=值
????while(條件){
? ? ? ? ? ? 迭代量
? ? ? ? ? ? 執(zhí)行代碼
????}
自旋:while(true)生成一萬個訂單編號流部,不能重復(fù),生成編號的代碼無限去生成纹坐,直到有一萬個不重復(fù)的訂單編碼才出去
2枝冀、do while(對應(yīng)的while唯一的區(qū)別是先做,后判斷,意味著最少走一次)
while與do while的區(qū)別
? ? ? ? 1)果漾、while是先判斷后執(zhí)行球切,do while先執(zhí)行再判斷
? ? ? ? 2)、do while最少執(zhí)行绒障,while至少執(zhí)行0次
? ? ? ? 3)吨凑、常用while來寫一些執(zhí)行多次的內(nèi)容(最少沒規(guī)定) do while(規(guī)定必須要執(zhí)行的時(shí)候)
3、for循環(huán)(常用)
? ? for (初始值户辱;條件鸵钝;迭代量){
? ? ? ? ? ? 執(zhí)行代碼;
????}
面試題:for(庐镐;蒋伦;)這樣寫錯了嗎?
? ? ? ? ? ? 正確焚鹊,意味著對應(yīng)里面的內(nèi)容可以被省略痕届,死循環(huán),省條件末患,迭代量必定是死循環(huán)
? 4研叫、時(shí)間復(fù)雜度
? ? ? ? ? ? 概述:從傳統(tǒng)意義上,對應(yīng)的代碼時(shí)間復(fù)雜度越低璧针,對應(yīng)執(zhí)行速度越快(效率越高)
? ? ? ? ? ? 1)一行只執(zhí)行一次:O(1)
? ? ? ? ? ? 2)O(logN)
? ? ? ? ? ? 3)O(n)
? ? ? ? ? ? 4)O(nlogN)由兩個值決定
? ? ? ? ? ? 5)O(n^2)循環(huán)嵌套
時(shí)間復(fù)雜度效率:由上至下嚷炉,依次降低(不要看次數(shù),要看由什么決定時(shí)間復(fù)雜度)
注:while時(shí)間復(fù)雜度低于for循環(huán)(算法優(yōu)化可以使用while來替代for循環(huán))
5探橱、break
? ? ? ? break跳出代碼塊(switch以及循環(huán))只會跳出當(dāng)前break所在層申屹,break后面的內(nèi)容不會走
6、continue
? ? ? ? continue跳過本次循環(huán)隧膏,只能在循環(huán)內(nèi)使用哗讥,循環(huán)還在繼續(xù)