說明
1、一般遞歸調用可以處理的算法,也通過循環(huán)去解決常需要額外的低效處理 。
2、 現(xiàn)在的編譯器在優(yōu)化后,對于多次調用的方法處理會有非常好的效率優(yōu)化,效率未必低于循環(huán)。
循環(huán)
優(yōu)點: 結構簡單
缺點: 并不能解決所有的問題。 有的問題適合使用遞歸而不是循環(huán),如果使用循環(huán)并不困難的話,最好使用循環(huán)。
遞歸
優(yōu)點: 代碼簡潔、清晰,并且容易驗證正確性
缺點: 它的運行需要較多次數(shù)的方法調用,如果調用層數(shù)比較深,需要增加額外的堆棧處理,比如參數(shù)傳遞需要壓棧等操作,會對執(zhí)行效率有一定影響。 但是,對于某些問題,如果不使用遞歸,那將是極端難看的代碼。
以上就是java循環(huán)和遞歸的區(qū)別,希望對大家有所幫助。更多關于“java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業(yè)需求,更科學更嚴謹,每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。