递归调用
    public static void main(String[] args) {
//        System.out.println(sum1(100));
//        System.out.println(sum2(100));
//        System.out.println(123456);
        printIntR1(123456);
        
    }
    static void printIntR(int x) {
        while (x > 0) {
            System.out.print(x % 10);
            x /= 10;
        
        }
    }
    static void printIntR1(int x) {
        if (x <= 0) {
            return;
        }
        System.out.println(x % 10);
        printIntR1(x / 10);
    }
    
    static void func1() {
        int a = 0;
        int b = 0;
        //递归调用  没有出口调用会导致stack overflow
        //错误的递归调用设计
        func1();
    }
    static void func2() {
        int x = 100;
        int y = 200;
    }
    static int sum1 (int x) {
        int s = 0;
        while (x > 0) {
            s += x--;
        }
        return s;
        
    }
    static int sum2(int x) {
        if (x <= 0) {
            //递归出口
            return 0;
        }
        int s = 0;
        s = x + sum2(x - 1);
        return s;
    }
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号