更新時間:2020-09-17 15:37:28 來源:動力節(jié)點 瀏覽2534次
說到遞歸,java中的遞歸和C語言中也是很相似的,在Java中,遞歸其實就是利用了棧的先進后出的機制來描述的。
public?class?HelloWorld?{
public?static?void?main(String[]?args){
// Scanner?s?=?new?Scanner(System.in);
// System.out.println("請輸入一個數(shù)字");
// int?num?=?s.nextInt();
int?c?=?10?,?d?=?20?;
swep(c,d);
System.out.println("c="+c+"d"+d);
//java中使用內(nèi)存時,直接把內(nèi)存氛圍堆,棧內(nèi)存。
//堆:通過垃圾回收器回收內(nèi)存。
//棧:用完自動釋放,先進后出。
//所以上面的c,d和swep里面的a,b沒有任何關(guān)系
//這點和C語言是類似的。
//下面演示的是棧的先進原理--->Java函數(shù)方法的遞歸調(diào)用
long?ret?=?jiecheng1(5);
System.out.println(ret);
int?fei?=?GetNdata(8)?;
System.out.println(fei);
}
//Java中簡單遞歸調(diào)用--->和C類似??利用棧的先進后出的原理
public?static?long?jiecheng1(int?n){
if(n?==?1)
return?1?;
return?jiecheng1(n-1)*n;
}
//斐波那契數(shù)列?獲取第N項的數(shù)
public?static?int?GetNdata(int?n)
{
if(n?==?1?||?n?==?2)
return?1?;
return?GetNdata(n-1)?+?GetNdata(n-2)?;
}
public?static?long?jiecheng(int?n){
int?t=?1?;
for(int?i?=?1?;?i?<?n?;?i++){
t?*=?i?;
}
return?t?;
}
public?static?void?swep(int?a?,?int?b){
int?t?=?a?;
a?=?b?;
b?=?t?;
}
}
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java中的遞歸調(diào)用函數(shù)的簡單教程”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743