初学JAVA,不是特别明白递归和迭代,这里特别的吧两种用法写一篇小文章,带有自己在网上搜索的一些知识,附上来。
迭代就是将输出作为输入,再次进行处理。比如将摄像头对着显示器;比如镜子对着镜子;比如KTV中将麦克对着音箱;比如机关枪扣动扳机发射子弹后,利用后座力继续扣动扳机。
用程序表述就是:for (int i=0; i < 100; i++) n = f(n); 调用输出来的值,在把这个值输入到原来的式子中去;
递归,简单来说就是自己不断调用自己,例如
public class dgtest {
public static void main(String[] args){
System.out.println(dg(100));
}
public static int dg(int i){
int sum = 0;
if(i==1)
return sum;
else{
sum=i+dg(i-1);
}
return sum;
}
}
例如这个就利用递归算法实现了1至100的相加,
还有一种理解,可以是:
迭代是更新变量的旧值。递归是在函数内部调用自身