递归调用:方法自己调用自己的方法,进行递归操作时必须满足条件:1、递归调用必须有结束条件。2、每次调用的时候都需要根据需求改变传递的参数内容。
范例:实现1~100数字累加
public class Sixtythree {
public static void main(String[] args) {
System.out.println(sum(100));//累加
}
/**
* 数据的累加操作,,传入一个数据累加操作的最大值,而后每次进行数据累加递减,将一直累加到计算数据为1;
* @param num要进行累加的数
* @return累加的结果
*/
public static int sum(int num) {
if(num==1) {
return 1;
}
return num+sum(num-1);//递归调用
}
}
执行结果
5050
范例:计算1!+2!+3!…+90!
public class Sixtyfour {
public static void main(String[] args) {
System.out.println(sum(90));
}
public static double sum(int num) {
if(num==1) {
return factorial(1);
}
return factorial(num)+sum(num-1);
}
public static double factorial(int num) {
if(num==1) {
return 1;
}
return num*factorial(num-1);
}
}
执行结果
1.502411534554385E138