递归

递归:是一种编程手法,函数自身直接或间接调用了自身

public class FileRecursion {

    public static void main(String[] args) {

    }

    public static void show(){

        //show();//直接调用自身

        Method();

    }

    public static void Method() {

        show();//间接调用自身 

    }

}

注意:
  1.递归一定要明确条件,否则容易栈溢出(StackOverflowError),只进不出
  2.递归的次数

什么时候用递归:一个功能在被重复只用,并每次使用时,参与运算的结果和上一次调用有关,这时可以用递归来解决问题

public class FileRecursion {

    public static void main(String[] args) {

        toBin(6);

    }

    public static void toBin(int num){

        if(num>0){

            System.out.println(num%2);//将该句放到toBin方法下面结果的顺序会翻过来,因为栈中最上层的先出栈,所以结果会反过来变成110

            toBin(num/2);

            

        }

    }

}

 

public class FileRecursion {

    public static void main(String[] args) {

        System.out.println(getSum(5));

    }

    public static int getSum(int num){    

        int x = 9;

        if(num==1)

            return 1;

        

        return num+getSum(num-1);

    }

}

 

你可能感兴趣的:(递归)