递归与循环

来源:互联网 发布:中国农业网络书屋 编辑:程序博客网 时间:2024/06/05 13:12

记得参加某公司的笔试题,有一道题很简单要求用递归方法,当时不太明白什么是递归,刷刷用循环写了出来,结果错了...所以一定要搞清楚递归与循环的概念。

 


递归:递归是一个函数的内部调用这个函数自身(一定记住是调用自身的函数

循环:循环是通过设置计算的初始值及终止条件,在一个范围内重复运算(for,while等循环方式)

递归与循环作用:重复多次计算相同问题


以1+2+···+n举例,用递归和循环两种方法写出。

public class Diguiandxunhuan {/** * @param args */
//递归public static int DiguiSum(int n){return n<=0?0:n+DiguiSum(n-1);}
//循环public static int XunhuanSum(int n){int result=0;for(int i=1;i<=n;i++){result+=i;}return result;}
public static void main(String[] args) {System.out.println(DiguiSum(3));System.out.println(XunhuanSum(3));}}


递归与循环比较:

1、递归代码简洁,循环代码量大

2、递归循环效率不如循环

3、递归对性能负面影响大

4、递归可能引起调用栈溢出问题

原创粉丝点击