說(shuō)到遞歸,java中的遞歸和C語(yǔ)言中也是很相似的,在Java中,遞歸其實(shí)就是利用了棧的先進(jìn)后出的機(jī)制來(lái)描述的。
public?class?HelloWorld?{ public?static?void?main(String[]?args){ // Scanner?s?=?new?Scanner(System.in); // System.out.println("請(qǐng)輸入一個(gè)數(shù)字"); // int?num?=?s.nextInt(); int?c?=?10?,?d?=?20?; swep(c,d); System.out.println("c="+c+"d"+d); //java中使用內(nèi)存時(shí),直接把內(nèi)存氛圍堆,棧內(nèi)存。 //堆:通過(guò)垃圾回收器回收內(nèi)存。 //棧:用完自動(dòng)釋放,先進(jìn)后出。 //所以上面的c,d和swep里面的a,b沒(méi)有任何關(guān)系 //這點(diǎn)和C語(yǔ)言是類(lèi)似的。 //下面演示的是棧的先進(jìn)原理--->Java函數(shù)方法的遞歸調(diào)用 long?ret?=?jiecheng1(5); System.out.println(ret); int?fei?=?GetNdata(8)?; System.out.println(fei); } //Java中簡(jiǎn)單遞歸調(diào)用--->和C類(lèi)似??利用棧的先進(jìn)后出的原理 public?static?long?jiecheng1(int?n){ if(n?==?1) return?1?; return?jiecheng1(n-1)*n; } //斐波那契數(shù)列?獲取第N項(xiàng)的數(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?; }}
以上就是長(zhǎng)沙達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中的遞歸調(diào)用函數(shù)的簡(jiǎn)單教程”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。