Java的递归函数是什么?怎么实现?-创新互联

1、递归函数的概念

成都创新互联公司专注于企业成都全网营销、网站重做改版、定西网站定制设计、自适应品牌网站建设、H5响应式网站商城建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为定西等各大城市提供网站开发制作服务。

递归是一种针对使用简单的循环难以编程实现的问題,提供优雅解决方案的技术。简单来说,递归方法是调用自身的方法。在编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。

2、实现递归的三要素

(1)一定有一种可以退出程序的情况;

(2)总是在尝试将一个问题化简到更小的规模;

(3)父问题与子问题不能有重叠的部分。

3、Java递归算法案例

Java中的递归函数如果没终止条件会造成死循环,所以递归代码里要有结束自调自的条件。接下来通过一个案例来学习如何使用递归算法。

package QianFeng03;

//阶乘(递归算法)

public class FactorialTest {

  

public static void main(String[] args){

      

int result = factor1( 10);

      

System.out.println(result);

     

int result1 = factor(10);

     

System.out.println("递归算法:内存消耗大容易内存溢出"+result1);

  

}

  

//---------------递归算法,方法本身调用自己----------------------

public static int factor(int num){

     

if (num==1)

         

return 1;

      

return num*factor(num-1);

}

 //---------------普通计算----------------------

public static int factor1(int num){

      

int result = num;

      

int i= num-1;

      

do{

          

result = result*i;

          

i--;

      

}while (i>1);

      

return result;

}

}

4、递归函数与循环的关系:

(1)联系:

都是通过控制一个变量的边界(或者多个),来改变多个变量为了得到所需要的值,而反复而执行的;都是按照预先设计好的推断实现某一个值求取;(请注意,在这里循环要更注重过程,而递归偏结果一点)

(2)区别:

递归通常是逆向思维居多,“递”和“归”不一定容易发现;而循环从开始条件到结束条件,包括中间循环变量,都需要表达出来。简单的来说就是:用循环能实现的,递归一般可以实现,但是能用递归实现的,循环不一定能。因为有些题目①只注重循环的结束条件和循环过程,而往往这个结束条件不易表达;②只注重循环的次数而不注重循环的开始条件和结束条件。

文章标题:Java的递归函数是什么?怎么实现?-创新互联
网站链接:https://www.cdcxhl.com/article44/ccsjhe.html

成都网站建设公司_创新互联,为您提供标签优化品牌网站建设网站建设网站策划微信公众号企业建站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设