*理论上,递归与循环是等价的,即任何循环都可以重写为递归形式
eg:
package javaPractice;
public class Contest {
public static void main(String []args) {
print(5);
System.out.println();
print1(0,5);
}
public static void print(int n) {//静态方法只能调用本类的静态成员,静态方法中不可使用this,super关键字
if(n>0) {
print(n-1);
}
System.out.print(n+" ");
}
public static void print1(int start,int end) {
System.out.print(start+" ");
if(start != end) {
print1(start + 1,end);
}
}
}
注意:1.有时候,为栈限制,需要“尾递归”
2.java不支持尾递归
*有些语言没有循环语句,只能使用递归