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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天我们学习了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/递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
构造方法,禁止递归
3/当递归判断的条件为true的时候结束当前递归  


回复 使用道具 举报
1.绝对路径和相对路径的区别?
绝对路径是一个以盘符开头的完整路径;相对路径是一个项目的简化路径,,不用考虑项目名称的问题还可以简化代码量。
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归就是在自己的方法内调用自己的方法,分为直接递归和间接递归;在一定的限定条件保证递归能够停下来和递归次数不多的时候可以用到递归,否则会发生栈内存溢出;在递归方法内判断条件结束时结束
回复 使用道具 举报
1.绝对路径和相对路径的区别?
绝对路径:是一个完整的路径,写死不会改变的路径,以盘符开始的路径
相对路径:是一个简化的路径,当前项目的根路径,提高项目的可移植性
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
使用当前方法调用自己
当某个特性可以被重复执行时,就可以用递归来解决。
当方法内条件满足时,结束递归
回复 使用道具 举报
1.绝对路径和相对路径的区别?
绝对路径:从盘符开始的
相对路径:不从盘符开始,节省代码,修改项目路径也简单
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归: 方法自己调用自己。
调用方法时,方法的主体不变,每次调用方法的参数不同,可以使用递归。
当判断中执行的return语句中不再有递归时,会结束
回复 使用道具 举报
1.绝对路径和相对路径的区别?
绝对路径是带有根目录的带有根盘路径的完整路径
相对路径是省略项目前的路径,相较于绝对路径显示比较简便显示,但是实际目录还是绝对路径
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归就是自己调用自己的方法;
需要重复进行某种方法且方法数据按照某种规律变化的时候可以用递归
结束的时机由自己限定方法的数据达到某种程度时停止,或者出现异常被虚拟机停止。
回复 使用道具 举报
1.绝对路径和相对路径的区别?
答:绝对路径指的是写死的,不会改变的路径,相对路径指的是相对的是当前项目的路径。
两者的差别在于路径的起始点是否从盘符开始。

2.什么是递归?什么情况下会用到递归?什么时候结束递归?
答:递归指的是方法自己在方法内通过间接方式或者直接方式调用自己。
递归的使用情况:当调用方法时,方法的主体不变,每次调用方法的参数不同,可以使用递归
结束递归:平时在使用递归的时候,递归都是有一定条件限定的,当不满足条件的时候递归就会结束。必须要注意的是,递归的次数不能太多,不然会造成栈内存溢出,而且限定条件一定要存在,不然会无限制的递归下去。在构造方法中不能使用递归。
回复 使用道具 举报
1.绝对路径和相对路径的区别?

绝对路径:写死不会发生改变的路径。

相对路径:相对的是当前项目的路径,可以省略根目录,不用考虑项目名称问题。

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

递归就是在当前方法内调用自己的这种现象。当要打印多级目录的时候可以使用递归,也可以用递归进行阶乘运算。当满足条件限定的时候,递归就会停下来。
回复 使用道具 举报
1.绝对路径和相对路径的区别?绝对路径是由盘符开始;相对路径是不从盘符开始的,省略的是盘符到项目根路径。              
2.什么是递归?什么情况下会用到递归?什么时候结束递归?

递归就是方法自己调用自己;当需要多次使用这个方法的并且每次调用方法的时候参数都有一定变化的时候可以使用递归;如果没有限定递归次数的语句或者限定递归次数过多的话都会发生栈内存溢出错误,结束程序,递归自然也就结束了,构造方法也不能使用递归。
回复 使用道具 举报
陈彬 中级黑马 2018-12-29 21:38:03
11#
1.绝对路径和相对路径的区别?   绝对路径就是从盘符开始的路径,是一个完整的路径。
   相对路径:相对的是项目路径而言,这是一个更便捷的路径,省略的是盘符到项目的路径
2.什么是递归?什么情况下会用到递归?什么时候结束递归?

   递归就是方法自己调用自己,如果解决问题的方法适合使用递归时可以使用。达到给定的条件时,结束时是从最后一次调用开始往前推。
回复 使用道具 举报
1.绝对路径和相对路径的区别?答:绝对路径:从盘符开始的路径,这是一个完整的路径。
相对路径:是从项目目录之后开始的路径,这是一个便捷的路径,开发中经常使用。  


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


答:递归指的是在方法内调用自己。当需要对对象重复执行某个方法的时候就可以使用递归。当主动使用条件限定且在达到限定的条件时,会结束递归。当发生栈内存溢出的时候,也会结束递归。
注意:递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
回复 使用道具 举报 1 0
1.绝对路径和相对路径的区别?      绝对        绝对path是从盘符开始的        写死一个绝对不会改变的path
                写死!!!!!! 百分之百能找到这个路径的
      表示一个完整的不可变的路径
        弊端
                不方便迁移
                如果project改name了就要改path
       相对
        相对path不是从盘符开始的        相对与当前项目的路径
        项目的根目录就可以不用出现了,可以省略
        好处
                减少我们代码的编写量
                不用考虑项目名称问题
2.什么是递归?什么情况下会用到递归?什么时候结束递归?

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

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

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


点评

总结的不错,注意下编辑格式  发表于 2018-12-30 11:52
回复 使用道具 举报 1 0
1.绝对路径和相对路径的区别?
从盘符开始的路劲就是绝对路径
从项目文件夹开始的路径就是相对路径
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归就是指在当前方法内调用自己的这种现象
次数不能太多,然后会报错
回复 使用道具 举报
1.绝对路径和相对路径的区别?

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

递归:方法自己调用自己。
使用时机:当需要只是改变(参数)重复调用某个方法的(方法体)时候,并且不能是构造方法。
结束时机:使用递归必须设置结束条件(且不能太大),当满足设置的结束条件就会结束。
回复 使用道具 举报
1.绝对路径和相对路径的区别?绝对路径是从盘符开始的路径
相对路径省略了盘符到项目的根路径
2.什么是递归?什么情况下会用到递归?什么时候结束递归?

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

回复 使用道具 举报
本帖最后由 骆颖权 于 2018-12-29 21:48 编辑

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


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


回复 使用道具 举报
1.绝对路径和相对路径的区别?
绝对路径是从盘符开始的路径
相对路径是不从盘符开始的,省略的是盘符到项目根路径,能够根据当前的项目名称,自动的不全路径,提高适应性。
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
递归就是方法调用自己的方法,程序进入循环状态。
递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
构造方法,禁止递归
回复 使用道具 举报
1.绝对路径和相对路径的区别? 答:绝对路径,为完整路径,相对路径是相对于当前项目的路径。
2.什么是递归?什么情况下会用到递归?什么时候结束递归?

答:递归,为方法本身调用方法本身,第一次调用需要由main方法传进一个参数,当达到一定条件值的时候递归结束,
       需要进行多次循环调用方法本身判断的时候,当满足出口条件的时候结束递归
回复 使用道具 举报
1.绝对路径从盘符开始,相对路径相对于当前的项目文件夹。
2.递归指方法直接或者间接的调用自己本身;解决不同对象具有前后关系且互相联系时可以用到递归;当递归判断的条件为true的时候结束当前递归  。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马