在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数
递归的三个条件:
边界条件
递归前进段
递归返回段
当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
scala> def calculate(x:Int):Int={
| if(x==1)
| x
| else
| return x*calculate(x-1)
| }
calculate: (x: Int)Int
scala> calculate(4)
res8: Int = 24
===> calculate(4)
===> 4 * calculate(3)
===> 4 * (3 * calculate(2))
===> 4 * (3 * (2* calculate(1)))
===> 4 * (3 * (2 * (1 * 1)))
===> 4 * (3* (2 * 1))
===> 4 * (3 * 2)
===> 4 * 6
===> 24