递归
1.定义:递归就是自己调用自己。
递归结构:递归头和递归体。
递归头:规定函数不调用自己的方法,不陷入死循环。
递归体:规定函数执行自己的方法
package com.tiedandan.base;
public class recuttence {
//递归用法
/**
* 1.定义:递归就是自己调用自己。
*
* 递归结构:递归头和递归体。
*
* 递归头:规定函数不调用自己的方法,不陷入死循环。
*
* 递归体:规定函数执行自己的方法
*/
public static void main(String[] args) {
System.out.println(factorial(5));
}
public static int factorial(int a){
// int s=a-1;
//// int p =0;
//// s=s*a;
//// a=a-1;
//// p=p+s;
////
//// if (a!=0){
//// factorial(a);
//// }
// return p;
if(a==1){
return 1;
}
else{
return a*factorial(a-1);
//f(4)到f(1)
}
}
}
递归开销比较大,需要慎用。