递归"/>
Java学习第16天:递归
主要任务:学习理解和掌握递归的用法,相对比较简单。
package day16;public class Recursion {/************************ 一直求和到N。没有循环,但是使用了堆栈。* * @param paraN* The given value.* @return The sum.**********************/public static int sumToN(int paraN) {if (paraN <= 0) {//Basis.return 0;} // Of ifreturn sumToN(paraN - 1) + paraN;}// Of sumToN/************************ 斐波那契序列.* * @param paraN* The given value.* @return The sum.**********************/public static int fibonacci(int paraN) {if (paraN <= 0) {//负值无效。索引0对应于第一个元素0。return 0;} if (paraN == 1) {//Basis.return 1;}//Of ifreturn fibonacci(paraN - 1) + fibonacci(paraN - 2);}//Of fibonacci/************************ 主程序开始.* * @param args* Not used now.**********************/public static void main(String args[]) {int tempValue = 5;System.out.println("0 sum to " + tempValue + " = " + sumToN(tempValue));tempValue = -1;System.out.println("0 sum to " + tempValue + " = " + sumToN(tempValue));for(int i = 0; i < 10; i ++) {System.out.println("Fibonacci " + i + ": " + fibonacci(i));}//Of for i}// Of main
}// Of class Recursion
运行结果:
0 sum to 5 = 15
0 sum to -1 = 0
Fibonacci 0: 0
Fibonacci 1: 1
Fibonacci 2: 1
Fibonacci 3: 2
Fibonacci 4: 3
Fibonacci 5: 5
Fibonacci 6: 8
Fibonacci 7: 13
Fibonacci 8: 21
Fibonacci 9: 34
注:递归。方法可以(直接或间接)调用自身。系统自动为其创建堆栈。合理利用递归,会使程序变得简单,相对来说也比较容易理解,在学习数据结构的同时建议找一本数据结构的书结合起来会上手更快,可以理解其用法和意义。
更多推荐
Java学习第16天:递归
发布评论