刚刚了解了下递归思想
递归就是在方法内调用本方法
下面说一个实际的应用
输出目录下的全部文件,当目录中还有目录时,则进入目录输出里面的文件
import java.io.*;
class ShowFile{
public static void showfile(File files){
if(files.isDirectory()){
File[] list=files.listFiles();
//防止抛出空指针异常
try{
for(File file:list){
if(file.isDirectory()){
//递归
showfile(file);
}
else{System.out.println(file.getAbsolutePath());}
}}
catch(NullPointerException x){
System.out.println(files.getAbsolutePath());
}
}
else{System.out.println(files.getAbsolutePath());}
}
}
递归的时候要小心出现死循环
如
void method(){
mehtod();
}
这样子就死循环了
运用递归思想,可以减小重复性代码的长度,作用和循环体差不多,但是能做循环体做不到的事