Java-递归

递归

  • 概念:在方法中调用方法本身的一种现象,需要注意的是,递归会出现死递归,所以一定要有一个出口,才可以更好的优化代码,提高效率。同时,递归要注意次数问题,不能过多。

    add(1);
    Public static void add(int n){
          System.out.print(n);
          n++;
          if(n>5){
    	return;}
      add(n);
    }

    此递归传入是输出从15的数字,在递增之后,调用本身add方法输入2,循环至n=5时终止。


  • 递归经典问题:斐波那契数列:1 1 2 3 5 8 13 21 35...(第i个数字i-1和i-2数字之和)

private static double feiBo(int i) {
		if(i==1||i==2){
			return 1;//第一个数和第二个数都是1
		}else{
			return feiBo(i-1)+feiBo(i-2);//调用本方法实现前两个数之和
		}
		
	}//在测试类里在调用该方法,传一个int值,输出就可以了
 

 

你可能感兴趣的:(java基础知识)