隐藏注意点

递归次数不要太多

递归次数太多, 函数调用栈会很大, 可能溢出或速度变慢;
一个递归方法, 在方法里调用方法本身, 如果调用处下面还有代码, 这些代码如果可被执行, 可能改变返回值;

public class TRecu {

    static String call(int input) {
        String result = "";
        if (input == 1) {
            call(2);
        } else if (input == 2) {
            call(3);
        } else if (input == 3) {
            result = "3";
            System.out.println("input=" + input + ", return= " + result);
            return result;
        }
        System.out.println("input=" + input + ", return= " + result);
        return result;
    }

    public static void main(String[] args) {
        String answer = call(1);
        System.out.println("main 结束, answer= " + answer);
    }

}

输出:

input=3, return= 3
input=2, return= 
input=1, return= 
main 结束,answer=

results matching ""

    No results matching ""