遞回時一種很常見的方法,把問題簡單化,
遞回的本質就是:自己呼叫自己,
例1:
public static void main(String[] args) {
a();
}
static void a(){
System.out.println("a");
a();
}
最后輸出會無限回圈輸出a,然后報錯,陷入死回圈,所以這不是遞回,
遞回結構包括遞回頭和遞回體
遞回頭:結束自身方法的條件,或者說是結束遞回的條件
遞回體:什么時候需要呼叫自己
對例1進行更改,為其加入遞回頭和遞回體
例二:
public static void main(String[] args) {
a();
}
static int count=0;
static void a(){
System.out.println("a");
count++;
if(count<10){//遞回體
a();
}else
return;//遞回頭,這個return不是回傳值,而實結束方法
}
最后輸出10個a
例3:
階乘 計算5!

遞回會使程式撰寫變的簡單,但是同時卻會占用大量的系統堆疊,記憶體耗用大,使用遞回時,速度沒有回圈快、
一般遞回都是可以用回圈來代替,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/165902.html
標籤:Java
