29java方法的定义与使用(方法递归调用)

12 阅读1分钟

方法的定义与使用(方法递归调用)

一、方法递归调用的定义

方法的递归调用指的是一个方法自己调用自己的形式。一般如果要进行方法的递归操作往往都具备有以下特点:

l 方法必须有一个递归的结束条件

l 方法在每次递归处理的时候一定要做出一些变更

 

二、范例1:实现一个1-100的累加操作

public class TestDemo {

public static void main(String args[]) {

System.out.printIn(sum(100));

}

public static int sum(int sum) {

if(num==1) {   //结束条件

return 1;

}

return num + sum(num-1);  //做出变更

}

} 

代码解读如下:

【mian() 调用】第 1 次执行 sum() 方法:return 100+sum(100-1)

【sum() 递归】第 2 次执行 sum() 方法:return 99+sum(99-1)

【sum() 递归】第 2 次执行 sum() 方法:return 98+sum(98-1)

【sum() 调用】倒数第 2 次执行 sum() 方法:return 2+sum(2-1)

【sum() 调用】倒数第 1 次执行 sum() 方法:return 1;

图片4.png

 

三、范例 2:实现 60!

可以预见该算式输出结果较大,应该使用 double

public class TestDemo {

public static void main(String args[]) {

System.out.printIn(mul (60));

}

public static int sum(int sum) {

if(num==1) {   //结束条件

return 1;

}

return num * mul (num-1);  //做出变更

}

} 

通过代码可以发现使用 while 循环的操作其实大部分都可以更换为递归,之所以使用递归主要是一个方法可以执行的操作很多而且结构要好。