Java基础教程32-递归

来源:互联网 发布:淘宝天猫培训 编辑:程序博客网 时间:2024/06/05 08:15
       本篇介绍递归,什么是递归呢?递归就是自己调用了自己。很多练习题或者面试题,会考察递归的思想,到时候你要想起用递归的思想去解决问题。
构成递归需具备的条件:
1. 子问题须与原始问题为同样的事,且更为简单;
2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
为了描述递归,我们这里演示计算阶乘的值。当阶乘中N=1或者N=0的时候,阶乘就等于1,当N>1的时候, N! = N*(N-1)*(N-2)*...2*1

package lesson01;public class MyClass {// N! = N*(N-1)*(N-2)*...2*1// 5!= 5x4x3x2x1public static int factorial(int N){if(N <= 1)return 1;else{return (N*factorial(N-1));}}public static void main(String[] args) {System.out.println(factorial(15));}}
这个例子中N<= 1就是边界出口,化简为非递归状况处理。