方法的递归调用指的是一个方法自己调用自己的形式。 如果要进行方法的递归操作往往都具备有一下特点: ·方法必须有一个递归的结束条件。 ·方法在每次递归处理的时候一定作出变更。
//范例:实现1~100的累加操作 Public static void main(String args[]){{System.out.println(sum(100)); } public static int sum(int num) { If(num == 1){//结束条件 return 1; } return num + sum(num - 1);//做出变更 } 运行结果:5050分析: 【main()方法调用】第一次执行sum()方法:return100+sum(100-1); 【sum()递归】第二次执行sum()方法:return99+sum(99-1); 【sum()递归】第三次执行sum()方法:return98+sum(98-1); … 【sum()递归】倒数第二次执行sum()方法:return2+sum(2-1); 【sum()递归】倒数第一次执行sum()方法:return1;
范例:实现60!(double) Public static void main(String args[]){System.out.println(sum(60)); } public static double mul(int num) { If(num == 1){ //结束条件return 1;} return num * mul(num - 1);//做出变更 }While循环的操作其实大部分都可以跟换为递归,主要使用递归主要是一个方法可以执行的操作很多,结构要好;