更新時間:2020-09-17 15:37:28 來源:動力節點 瀏覽2666次
說到遞歸,java中的遞歸和C語言中也是很相似的,在Java中,遞歸其實就是利用了棧的先進后出的機制來描述的。
public?class?HelloWorld?{
public?static?void?main(String[]?args){
// Scanner?s?=?new?Scanner(System.in);
// System.out.println("請輸入一個數字");
// int?num?=?s.nextInt();
int?c?=?10?,?d?=?20?;
swep(c,d);
System.out.println("c="+c+"d"+d);
//java中使用內存時,直接把內存氛圍堆,棧內存。
//堆:通過垃圾回收器回收內存。
//棧:用完自動釋放,先進后出。
//所以上面的c,d和swep里面的a,b沒有任何關系
//這點和C語言是類似的。
//下面演示的是棧的先進原理--->Java函數方法的遞歸調用
long?ret?=?jiecheng1(5);
System.out.println(ret);
int?fei?=?GetNdata(8)?;
System.out.println(fei);
}
//Java中簡單遞歸調用--->和C類似??利用棧的先進后出的原理
public?static?long?jiecheng1(int?n){
if(n?==?1)
return?1?;
return?jiecheng1(n-1)*n;
}
//斐波那契數列?獲取第N項的數
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?;
}
}
以上就是動力節點java培訓機構的小編針對“Java中的遞歸調用函數的簡單教程”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習