易截截图软件、单文件、免安装、纯绿色、仅160KB

java递归实例

 example: 求5的阶乘。。

如下:

public class Test {
static int multiply(int n){
if(n==1||n==0)
return n;
else
return n*multiply(n-1);
}

public static void main(String[] args){
System.out.println(multiply(10));
}
}


上面的multiply是一个阶乘的例子。其实递归递归,从字面上解释就是在方法本身调用自己的方法,或者间接调用;看上面的程序,拿multiply(5)来说:
n=5;执行 5*multiply(4);
--------------------
这时候看multiply(4)
n=4 执行 4*multiply(3);
-------------------
看multiply(3)
n=3,执行 3*multiply(2);
---------------
mulitply(2);
n=2 执行 2*mulitply(1);
这时候,return 1;往上返回
2*1向上返回
3*(2*1)向上返回
4*(3*(2*1)) 向上返回
5*(4*(3*(2*1)) ) = 120
所以程序输出120;
这事简单的递归的例子;所以可以看出来递归的关键得有递归出口(本体的If语句),还有递归方法;


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

java第8天代码(集合类)

/************Student.java begin***************/
 import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Student {
 private String name;
 private String password;
 public String getName() {
  return name;
 }
 public ......

Java Card开发常用的包(整理)

 整理了一下常用到的Java卡开发包里的方法,以后就能加快开发速度了。
//Java Card开发方法查询
import java.lang.*;
import javacard.framework.*;
import javacard.security.*;
import javacardx.crypto.*;     //该包为扩展包
//install方法
public static void install(byte[] bArray, ......

java循环遍历map

JDK1.4中
Map map = new HashMap();
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
Object key = entry.getKey();
Object value = entry.getValue();
}
JDK1.5中,应用新特性For-Each循环
Map m = new HashMap();
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号