黑马程序员技术交流社区
标题:
递归概述
[打印本页]
作者:
邱石
时间:
2015-6-13 19:47
标题:
递归概述
递归(理解)
(1)方法定义中调用方法本身的现象
举例:老和尚给小和尚讲故事,故事是:
老和尚给小和尚讲故事,故事是
老和尚给小和尚讲故事,故事是。。。
(2)递归的注意事项;
A:要有出口,否则就是死递归
B:次数不能过多,否则内存溢出
C:构造方法不能递归使用
(3)递归的案例:
A:递归求阶乘
public int jiCheng(int n){
if(n==1){
return 1;
}else(){
return n*jiCheng(n-1);
}
}
B:递归输出指定目录下所有指定后缀名的文件绝对路径
private static void getFile(File file) {
File[] fileArr=file.listFiles();
for(File f:fileArr){
if(f.isDirectory()){
getFile(f);//把目录作为参数再次调用递归方法
}else{//定义出口
if(f.getName().endsWith(".java")){
System.out.println(f.getAbsolutePath());
}
}
}
}
C:递归删除带内容的目录(小心使用)
public static void deleteFolder(File file) {
//获取该目录下的所有文件和文件夹
File[] fileArr=file.listFiles();
//遍历数组
for(File f:fileArr){
if(f.isDirectory()){
deleteFolder(f);
}else{
f.delete();
}
}
file.delete();
}
作者:
yijiandeai
时间:
2015-6-14 11:34
递归是好东西呀
作者:
meng12
时间:
2015-6-14 11:44
赞赞赞,顶一下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2