s-day08-递归的概念
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package com.inmind.digui02;
|
||||
/*
|
||||
9.递归的概念
|
||||
|
||||
递归:一个方法直接或者间接调用字节
|
||||
直接调用:A->A->A->A->A
|
||||
间接调用:A->B->A->B
|
||||
|
||||
递归代码必须要有结束条件,如果没有结束条件,那么一定会栈内存溢出错误
|
||||
|
||||
扩展:
|
||||
1.内存溢出:内存空间总共有4G,但是我们要开辟超出4G的空间,内存溢出
|
||||
2.内存泄漏:一个对象已经不再使用了,但是它还占用着内存,无法释放
|
||||
*/
|
||||
public class Demo08 {
|
||||
static int count = 0;
|
||||
public static void main(String[] args) {
|
||||
method1();
|
||||
System.out.println("程序结束");
|
||||
}
|
||||
|
||||
private static void method1() {
|
||||
System.out.println(count);
|
||||
count++;
|
||||
if (count > 16000) {
|
||||
return;
|
||||
}
|
||||
method2();
|
||||
}
|
||||
|
||||
private static void method2() {
|
||||
method1();
|
||||
}
|
||||
|
||||
//直接调用:A->A->A->A->A
|
||||
public static void methodA(){
|
||||
System.out.println(count);
|
||||
count++;
|
||||
if (count > 20000) {
|
||||
//提前结束当前方法
|
||||
return;
|
||||
}
|
||||
methodA();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user