你的位置:首页 > Java教程

[Java教程]JavaSE复习日记 : 递归函数


/* *             递归函数 *   什么是递归? *     在一个方法的内部,对自身进行调用,又叫做递归调用 * *   递归和循环的编写都包括三部分: *     1. 初始值; *     2. 终止条件; *     3. 前进步长; * *   递归解决比较常见的问题: *     累加加的和; *     阶乘; *     斐波那契数列等; *      *   可能前面两个都会有过接触,没关系,我们把三个都写一遍 *    *///               累加加和/* *     计算1到100的和; *//*public class JavaSE{  public static void main(String[] args){    int s = sum(100);    System.out.println( s );  }  public static int sum(int a){//输出整形值100,进入判断语句,如果是1,就返回1,如果不是1,就返回:a + (a-1) + [(a-1)-1] + ...直到a - (a-1),也就是等于1的时候,返回1结束,结果相当于算的是100到1的和;    if (a==1) {      return 1;    }else{      return a + sum(a-1);//这里是调用了方法自身,让自身减一再进行判断,直到a==1为止结束    }  }}*//* *             阶乘 *     计算10的阶乘(这里如果想换个别的数的话最好别换太大的数,否则会出现不可预估的结果,可能会超出int的内存空间,建议用12以下的数) *//*public class JavaSE{  public static void main(String[] args){    System.out.println( factorial(10) );  }  public static int factorial(int n){    if (n==1) {      return 1;    }else{      System.out.println( n + "x" + (n-1) + " " );      return n*factorial(n-1);    }  }}*//* *               斐波那契数列 *   斐波那契数列第一位和第二位的数值都是1,之后的每一位都是前两位的和; *   计算第5位斐波那契数列的数值; */public class JavaSE{  public static void main(String[] args){  System.out.println( fibIteration(5) );  }  public static long fibIteration(int index) {    if (index == 1 || index == 2) {      return 1;    }    long f1 = 1l;    long f2 = 1l;    long f = 0;    for (int i = 0; i < index-2; i++) {      f = f1 + f2;      f1 = f2;      f2 = f;      System.out.print(f2 + "+" + f1 + ",");    }    return f;  }}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>杰我教育WWW.JAOVO.COM<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<