java迭代和 递归的异同_Java中的递归和迭代之间有什么区别?

该递归和迭代都重复执行的指令集。递归是指函数中的语句重复调用自身时的情况。该迭代是当循环重复执行,直到控制条件为假。递归和迭代之间的主要区别在于,递归是一个过程,始终应用于函数,而迭代则应用于我们要重复执行的指令集。

递归递归使用选择结构。

如果递归步骤不能以某种条件(基本情况)收敛的方式减少问题,则将发生无限递归,并且无限递归会导致系统崩溃。

识别基本情况后,递归终止。

由于维护堆栈的开销,递归通常比迭代慢。

递归比迭代使用更多的内存。

递归使代码更小。

示例public class RecursionExample {

public static void main(String args[]) {

RecursionExample re = new RecursionExample();

int result = re.factorial(4);

System.out.println("Result:" + result);

}

public int factorial(int n) {

if (n==0) {

return 1;

}

else {

return n*factorial(n-1);

}

}

}

输出结果Result:24

迭代迭代使用重复结构。

如果循环条件测试永远不会为假,并且无限循环重复使用CPU周期,则迭代将发生无限循环。

循环条件失败时,迭代将终止。

迭代不使用堆栈,因此它比递归要快。

迭代消耗更少的内存。

迭代使 代码更长。

示例public class IterationExample {

public static void main(String args[]) {

for(int i = 1; i <= 5; i++) {

System.out.println(i + " ");

}

}

}

输出结果1

2

3

4

5

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值