递归方法的使用
1.递归方法:一个方法体内调用它自身。
2.特点:方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。
3.举例:
快速排序
```JAVA
public class RecursionTest {
public static void main(String[] args) {
System.out.println("hello");
main(args);//StackOverflowError
//求1-100自然数的和
int sum = 0;
for(int i = 1;i <= 100;i++){
sum += i;
}
System.out.println("总和为:" + sum);
//求1-100自然数的和:使用递归方法
RecursionTest test = new RecursionTest();
int sum1 = test.getSum(100);
System.out.println("总和为:" + sum1);
//求n!
//已知有一个数列:f(0) = 1,f(1) = 4,f(n+2)=2*f(n+1) + f(n),其中n是大于0的整数,求f(10)的值。
int sum2 = test.f(10);
}
public int f(int n){
if(n == 0){
return 1;
}else if(n == 1){
return 4;
}else{
return 2 * f(n - 1) + f(n - 2);
}
}
public int getSum(int number){
if(number == 1){
return 1;
}else{
return number + getSum(number - 1);
}
}
}
```