XML Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 package com.lyzx.day02 class T3 { //在if-elseif-else结构中最后一行任然是返回值 def f1(v:Int):Int ={ if(v == 1) 100 else if (v == 2) 200 else 0 } /** * 这是一个通过递归获取整数n的阶乘的函数我们看到在函数f3中定义了一个函数go * 其实在sacla中函数可以被定义在任何地方在函数里面定义函数就像定义一个局部变量一样 * */ def factorial(n:Int):Int ={ def go(n:Int,acc:Int): Int ={ if(n<=0) acc else go(n-1,n*acc) } go(n,1) } } object T3{ //在object中的函数都类似于java中的静态函数 def f2(): Unit ={ println("我是一个静态方法......") } def main(args: Array[String]) { val t3 = new T3(); println(t3.f1(1)) T3.f2() val sum = t3.factorial(5) println(sum) } }