A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

今天我们学习了File类和递归,请根据自己理解回答下面问题:
1.绝对路径和相对路径的区别?
2.什么是递归?什么情况下会用到递归?什么时候结束递归?

31 个回复

正序浏览
今天我们学习了File类和递归,请根据自己理解回答下面问题:
1.绝对路径和相对路径的区别?
绝对路径是表示真实的在硬盘中存储的位置,以盘符开始,是一个完整的路径;
相对路径是相对于绝对路径一种便捷表示,表示相对于项目目录的位置,项目路径加上相对路径就是完整的绝对路径,只不过在开发过程中我们为了方便,使用相对路径的格式.

2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归作为一种算法被广泛用在程序设计语言中,它是直接或间接的调用自己。
递归算法一般用于解决三类问题:
  1)数据的定义是按递归定义的。
  2)问题解法按递归算法实现。
  3)数据的结构形式是按递归定义的。
当方法被最后一次调用时,递归结束.为了保证递归能停下来,在使用递归时,要注意这些方面:
1)递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
2)在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
3)构造方法,禁止递归
回复 使用道具 举报
1.绝对路径和相对路径的区别?
绝对路径就是把路径写死,从盘符开始一直写到所需的文件或文件夹为止;
相对路径则省略了前面部分,即从盘符开始到项目所在的文件夹。

2.什么是递归?什么情况下会用到递归?什么时候结束递归?
(1)递归就是方法调用自己,分为直接递归和间接递归。直接递归是方法在自己的方法体内调用自己,间接递归是指A放法调用其他方法,而其他方法再调用A方法;
(2)满足以下条件时可以考虑递归:
a.解决问题时,可以把一个问题转化为一个新的问题,而这个新的问题的解决方法仍与原问题的解法相同,只是所处理的对象有所不同,这些被处理的对象之间是有规律的递增或递减;
b.可以通过转化过程使问题得到解决;
c.有一个明确的结束递归的条件,否则递归将会无止境地进行下去,直到耗尽系统资源。
然而,使用递归方法需非常谨慎,否则很容易对系统资源造成极大的浪费。
(3)当递归方法体内有一个分支不调用自身,且这种情况能满足时,即结束递归。

回复 使用道具 举报
1.绝对路径和相对路径的区别?
绝对路径:从盘符开始的路径,这是一个完整的路径
相对路径:相对于项目目录的路径。省略了从盘符开始到当前项目下的路径
区别:
绝对路径将文件路径写死,不易发生变动。
而相对路径是相对于项目路径存在的,提高了项目的可移植性。

2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归是当前方法自己调用自己。
递归分为:直接递归,间接递归
要重复调用方法时,且方法的主体不变,每次调用方法的参数不同,可以使用递归
递归的注意事项:
(1)递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出
(2)在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出
(3)构造方法,禁止递归
递归什么时候结束:当递归调用的方法到最后一个方法的方法体执行完后,就开始被调用方法逐步出栈。
回复 使用道具 举报
1.绝对路径和相对路径的区别?
绝对路径:写死的路径,从盘符开始到结束的路径;
相对路径:盘符到项目的路径省略不写。
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
方法自己调用自己为递归。
       1.解决问题时,可以把一个问题转化为一个新的问题,而这个新的问题的解决方法仍与原问题的解法相同,只是所处理的对象有所不同,这些被处理的对象之间是有规律的递增或递减;


       2.可以通过转化过程使问题得到解决;


结束递归必定要有一个明确的结束递归的条件,否则递归将会无止境地进行下去,直到耗尽系统资源。也就是说必须要某个终止递归的条件。
回复 使用道具 举报
1.绝对路径和相对路径的区别?   绝对路径是从盘符开始完整路径。
   相对路径省略了盘符到项目的路径。
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
   方法直接调用方法自身,或间接调用自身叫做递归。
   当需要并且能够使用方法的运行结果作为参数列表去循环调用方法本身,达到我们的运算需求,就可以使用递归,前提要明确递归停止条件,和递归目的。    满足退出条件,就结束递归。
回复 使用道具 举报
1.绝对路径和相对路径的区别?绝对路径是从盘符开始的路径,相对路径是从根目录后开始的路径。
2.什么是递归?什么情况下会用到递归?什么时候结束递归?


递归指在当前方法内调用自己的现象。排序会用到递归。达到指定递归次数时结束递归。
回复 使用道具 举报
1.绝对路径和相对路径的区别?

绝对路径是从盘符开始的路径。

相对路径是不从盘符开始的,省略的是盘符到项目根路径。

2.什么是递归?什么情况下会用到递归?什么时候结束递归?

递归就是指当前方法中调用自己方法的现象。当要求有规律了性的实物,或者遍历文件夹中的所有文件的时候。当达到我们想要达到的目的的时候就结束递归,我们的目的,就是递归停止的条件。
=-------------黄成成
回复 使用道具 举报
本帖最后由 杨馥榕 于 2018-12-29 21:58 编辑

1.绝对路径和相对路径的区别?
答:绝对路劲:是从盘符(就是我们C盘D盘等等的一些盘)开始的路径,写死的一个不会改变。
相对路径:不从盘符开始的,省略的是盘符到项目根路径,当前项目的路径
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
答:递归:就是相当于循环一样的,一个方法自己去调用自己就是递归。
在文件过滤器时候我们就用到了递归,把我需要的文件从文件夹一个个去过滤获得我需要的文件
当我们的条件满足时候,用一个retrun结束关键字去结束递归!


回复 使用道具 举报 1 0
本帖最后由 艾卡西亚的惊喜 于 2018-12-29 22:04 编辑


林少伟
回复 使用道具 举报
1.绝对路径和相对路径的区别?
答;绝对路径是从盘符开始的完整的路径。相对路径是是相对于项目文件夹来说的路径,和绝对路径相比,绝对路径书写时少了盘符到项目名文件夹(包括)的书写。
相对路径在虚拟机处理时会补全。相对路径的优势是使得文件能够适应迁移。

2.什么是递归?什么情况下会用到递归?什么时候结束递归?
答:递归是方法自己调用自己(直接或间接),在有限的次数内进行调用(否则栈内存溢出)。递归用在重复使用某一个方法的时候,比如累加、阶乘、遍历多级文件夹等。
在最后一次调用方法的时候要结束递归,对于不同情况下使用的递归一定要明白什么时候停止递归,以及调用方法的目的。



回复 使用道具 举报
1.绝对路径和相对路径的区别?
绝对路径:从盘符开始,路径已经写死
相对路径:省略了盘符到项目的根路径,相对比较灵活,可以不用考虑项目名称的问题,系统会根据当前项目自动补全

2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归:方法自己调用自己
当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归
当判断条件为true时递归结束
回复 使用道具 举报
1.绝对路径从盘符开始,相对路径相对于当前的项目文件夹。
2.递归指方法直接或者间接的调用自己本身;解决不同对象具有前后关系且互相联系时可以用到递归;当递归判断的条件为true的时候结束当前递归  。
回复 使用道具 举报
1.绝对路径和相对路径的区别? 答:绝对路径,为完整路径,相对路径是相对于当前项目的路径。
2.什么是递归?什么情况下会用到递归?什么时候结束递归?

答:递归,为方法本身调用方法本身,第一次调用需要由main方法传进一个参数,当达到一定条件值的时候递归结束,
       需要进行多次循环调用方法本身判断的时候,当满足出口条件的时候结束递归
回复 使用道具 举报
1.绝对路径和相对路径的区别?
绝对路径是从盘符开始的路径
相对路径是不从盘符开始的,省略的是盘符到项目根路径,能够根据当前的项目名称,自动的不全路径,提高适应性。
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归就是方法调用自己的方法,程序进入循环状态。
递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
构造方法,禁止递归
回复 使用道具 举报
本帖最后由 骆颖权 于 2018-12-29 21:48 编辑

1.绝对路径和相对路径的区别?
绝对路径:是一个完整的路径,以盘符开始的路径。
相对路径:是一个简化的路径,相对指的是相对于当前项目的根目录。如果使用当前项目的根目录,路径可以简化书写。


2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归:指在当前方法内调用自己的这种现象。
递归可分为直接递归和间接递归:
                       直接递归称为方法自身调用自己。
                       间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。
当我们要解决的问题有着重复执行的操作的时候,可以考虑使用递归。
当满足条件限定的时候,递归就会停下来。


回复 使用道具 举报
1.绝对路径和相对路径的区别?绝对路径是从盘符开始的路径
相对路径省略了盘符到项目的根路径
2.什么是递归?什么情况下会用到递归?什么时候结束递归?

递归就是方法自己调用自己
当方法本身要反复使用的方法于自身相同或者方法主体与自身相同,只是参数列表不同,就可以使用递归
使用递归要给递归做一些限定,不能无限递归,否则会发生栈内存溢出,即使给出限定次数也不能过多,否则也会发生栈内存溢出

回复 使用道具 举报
1.绝对路径和相对路径的区别?

区别:(1)绝对路径是从盘符开始的完整路径;相对路径是从当前项目的根路径开始的简化版。
(2)绝对路径是写死的路径,不能改变;相对路径方便路径的修改。
       
2.什么是递归?什么情况下会用到递归?什么时候结束递归?

递归:方法自己调用自己。
使用时机:当需要只是改变(参数)重复调用某个方法的(方法体)时候,并且不能是构造方法。
结束时机:使用递归必须设置结束条件(且不能太大),当满足设置的结束条件就会结束。
回复 使用道具 举报
1.绝对路径和相对路径的区别?
从盘符开始的路劲就是绝对路径
从项目文件夹开始的路径就是相对路径
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归就是指在当前方法内调用自己的这种现象
次数不能太多,然后会报错
回复 使用道具 举报
1.绝对路径和相对路径的区别?      绝对        绝对path是从盘符开始的        写死一个绝对不会改变的path
                写死!!!!!! 百分之百能找到这个路径的
      表示一个完整的不可变的路径
        弊端
                不方便迁移
                如果project改name了就要改path
       相对
        相对path不是从盘符开始的        相对与当前项目的路径
        项目的根目录就可以不用出现了,可以省略
        好处
                减少我们代码的编写量
                不用考虑项目名称问题
2.什么是递归?什么情况下会用到递归?什么时候结束递归?

     递归分为两种,直接递归和间接递归。
        直接递归称为方法自身调用自己。
        间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。
                结果还是 A 方法调用 A 方法

当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归

递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
        Exception in thread "main" java.lang.StackOverflowError


回复 使用道具 举报 1 0
1.绝对路径和相对路径的区别?答:绝对路径:从盘符开始的路径,这是一个完整的路径。
相对路径:是从项目目录之后开始的路径,这是一个便捷的路径,开发中经常使用。  


2.什么是递归?什么情况下会用到递归?什么时候结束递归?


答:递归指的是在方法内调用自己。当需要对对象重复执行某个方法的时候就可以使用递归。当主动使用条件限定且在达到限定的条件时,会结束递归。当发生栈内存溢出的时候,也会结束递归。
注意:递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
回复 使用道具 举报 1 0
12下一页
您需要登录后才可以回帖 登录 | 加入黑马