利用递归打印1——100

递归:自己调用自己

递归分类:
  直接递归:方法直接自己调用自己
  间接递归:用a方法调用b方法,b方法调用c方法,c方法再调用a方法
   注意事项:
   1.递归一定要有条件限定,保证递归可停下来,否则会发生栈内存溢出
   ,系统报错!
   2.递归即使有条件限定,递归的次数也不能太多,否则依然会发生内存
   溢出,系统报错!
   3.
public static void main(String[] args) {
        a(1);
        b(100);
        System.out.println("升序排列:");
    }

    /*
    递归一定要有条件限制,保证递归能停下来,否则会发生栈内存溢出。
    * */

//利用递归打印输出100,并每十个换行。
     //升序
    private static void a(int i) {
        System.out.print(i + "	");
        if (i % 10 == 0) {
            System.out.println();
        }//每十个换行处理
        if (i == 100) {
            System.out.println("=======================");//打印一个分割行
            System.out.println();
            System.out.println("升序排列:");
            return;
        }
        a(++i);//自己调用自己的方法(变量自增)
    }

    private static void b(int j) {

        System.out.print(j+"	");

        if ((j-1 )% 10 == 0) {
            System.out.println();
        }//每十个换行处理
        if (j == 1) {
            return;
        }
        b(--j);//自己调用自己的方法(变量自减)
    }

效果如详图所示:

经验分享 程序员 微信小程序 职场和发展