黑马程序员-递归思想
2014-01-15 20:06
211 查看
-------- android培训、java培训、期待与您交流! --------
直接调用
间接调用(但要小心使用,搞不好就内存溢出了):
使用递归思想求和:
这只是个例子,千万背在程序中用,数一大,就出事了,我往里面传了个7000,运行时cpu使用率从%10左右瞬间达到70%以上,我往里面穿了个8000,栈内存溢出了!
十进制转换为二进制:
删除多层目录:
一个目录下面要是有东西的话,这个目录是不能能直接给干掉的,必须把里面的东西干掉之后,才行。
一句话:从最里面往外删。
-------- android培训、java培训、期待与您交流! --------
递归:函数本身直接或间接的调用了自身 什么时候使用:一个功能在被重复使用,并在每次使用时,参与运算的结果和上一次调用有关,这是可以用递归来解决问题 注意:递归一定要明确条件。否则容易栈溢出(StackOverflowError)
直接调用
public static void show() { show(); }
间接调用(但要小心使用,搞不好就内存溢出了):
public static void show() { method(); } public static void method() { show(); }
使用递归思想求和:
这只是个例子,千万背在程序中用,数一大,就出事了,我往里面传了个7000,运行时cpu使用率从%10左右瞬间达到70%以上,我往里面穿了个8000,栈内存溢出了!
public static int getSum(int num) { if(num==1) return 1;//这个条件非常重要,要是没有,会导致栈溢出,,感受一下,你就知道! return num+getSum(num-1); }
十进制转换为二进制:
public static void toBin(int num) { if (num>0) { toBin(num/2); System.out.print(num % 2); } }
删除多层目录:
一个目录下面要是有东西的话,这个目录是不能能直接给干掉的,必须把里面的东西干掉之后,才行。
一句话:从最里面往外删。
public class RemoveDi 4000 rectory { public static void main(String[] args) { //先创建一多层目录 File dir=new File("first");//封装成对象 dir.mkdirs();//创建多层目录 //删掉这个多层目录。 removeDir(dir); } public static void removeDir(File dir) { File[] files=dir.listFiles(); for(File file:files){ if(file.isDirectory()){ removeDir(file); }else{ System.out.println(file+":"+file.delete()); } } System.out.println(dir+":"+dir.delete()); } }
-------- android培训、java培训、期待与您交流! --------
相关文章推荐
- 黑马程序员java学习—File类,Properties类和递归思想
- 黑马程序员--c语言:结构体、枚举、预处理指令、typedef、static与extern、递归思想
- 黑马程序员-变量作用域,存储类型,类型总结,递归思想
- 黑马程序员——高新技术---Java基础-IO流_File类,递归思想
- 黑马程序员——Java中File类笔记,涉及递归思想、过滤器
- 黑马程序员--预处理指令、内部和外部函数、递归思想
- 黑马程序员-递归思想,汉罗塔
- 黑马程序员_java编程思想——递归
- 2013-10-31 实验之下三角阵螺旋(递归思想题)
- Java利用递归思想遍历指定目录,获取所有的文件
- 黑马程序员——JAVA基础--面向对象思想
- 黑马程序员-JAVA学习之递归与归并排序
- 黑马程序员_07常用类String 、StringBuffer、File类以及递归调用
- python基础-递归、二分法查找(for\递归)、三级菜单、压栈思想
- 黑马程序员—JAVA高新技术之面向对象的设计思想
- 黑马程序员—枚举、宏定义、typedef、递归
- 黑马程序员 Java基础之IO流<一>File类及递归
- 用递归思想解决二叉树的实际应用
- 由递归思想处理问题的基本原则
- 黑马程序员:递归