遞歸與循環(huán)淺析
發(fā)布日期:2022/10/6 23:08:41 瀏覽量:
一、遞歸與循環(huán)的對比
-
遞歸會帶來大量的函數(shù)調(diào)用。這是不好的
-
二、遞歸講解
1、概念
-
A方法調(diào)用B方法,我們很容易理解
-
遞歸就是:A方法調(diào)用A方法!就是自己調(diào)用自己
2、遞歸的用處
-
遞歸策略只需要少量的程序就可以描述出解題過程所需要的多次重復(fù)計算,大大減少了程序的代碼量
-
遞歸的能力在于用有限的語句來定義對象的無限集合
3、遞歸結(jié)構(gòu)包含兩個部分
-
遞歸頭:什么時候不調(diào)用自身方法。如果沒有頭,將陷入死循環(huán)
-
遞歸體:什么時候需要調(diào)用自身方法
4、代碼如下
5、遞歸的壞處
-
遞歸會帶來大量的函數(shù)調(diào)用。這是不好的
-
1、while 循環(huán)
-
基本結(jié)構(gòu)
1 while( 布爾表達(dá)式 ){ 2 //循環(huán)結(jié)構(gòu) 3 }
-
只要布爾表達(dá)式為true,循環(huán)就會一直執(zhí)行下去
-
循環(huán)條件一直為true就會造成無限循環(huán)【死循環(huán)】,這是在正常程序下需要避免的
-
少部分情況下需要循環(huán)一直執(zhí)行下去。例如服務(wù)器的請求響應(yīng)監(jiān)聽等
-
1 //例子:從1加到100求和 2 //代碼主要部分 3 while(i<=100){ 4 sum+=i; 5 i++; 6 }
2、do...while循環(huán)
-
對于while’語句而言,如果不滿足條件,則不能進(jìn)入循環(huán),但有時候我們需要即使不滿足條件的情況下,程序也要至少執(zhí)行一次
-
do.....while循環(huán)和while循環(huán)相似,不同的是:do....while循環(huán)至少會執(zhí)行一次
-
語法結(jié)構(gòu)
1 do{ 2 //代碼語句 3 }while(布爾表達(dá)式);
-
while與do-while的區(qū)別
while是先判斷后執(zhí)行。do-while是先執(zhí)行后判斷
do-while總是保證循環(huán)體至少會被循環(huán)一次!這是它們的主要區(qū)別
-
1 //例子:從1加到100求和 2 //代碼主要部分 3 do{ 4 sum+=i; 5 i++; 6 }while(i<=100);
3、for 循環(huán)
-
雖然所有的循環(huán)結(jié)構(gòu)都可以使用while和do....while表示,但Java提供了另一種語句:for循環(huán)
-
for循環(huán)相較與其它二者更高效,執(zhí)行速度快
-
格式如下
1 for(初始化;布爾表達(dá)式;迭代式){ 2 //代碼語句 3 }
4、在Java5種引入了一種主要用于數(shù)組的增強(qiáng)型for循環(huán)
-
主要是用來遍歷數(shù)組與集合的
-
格式如下:
1 for(聲明語句:表達(dá)式){ 2 //代碼語句 3 } 4 5 6 //例子如下: 7 int[] numbers={1,2,3,4,5}; 8 for(int x:numbers){ 9 System.out.println("數(shù)組中的元素為"+x) 10 }
-
聲明語句:聲明新的局部變量,該變量的類型必須和數(shù)組元素的類型匹配。
-
其作用域限定在循環(huán)語句塊,其值與此時數(shù)組元素的值相等。
-
-
表達(dá)式:表達(dá)式是要訪問的數(shù)組名,或者是返回值為數(shù)組的方法。
-
另加:數(shù)組的靜態(tài)與動態(tài)定義
馬上咨詢: 如果您有業(yè)務(wù)方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術(shù),還有行業(yè)經(jīng)驗(yàn)積累。
QQ: 39764417/308460098 Phone: 13 9800 1 9844 / 135 6887 9550 聯(lián)系人:石先生/雷先生

