#定义变量var
var name = “chen”
name = “zhiguo”
#定义常量val 首次复制后不可以再改变
val two = 1+ 1
#定义函数def,等号左侧是函数名、函数列表和返回值,右侧是函数体实现的表达式。
scala> def addOne(m:Int): Int = m+ 1
addOne: (m: Int)Int
scala> var x = addOne(123)
x: 124
如果函数体需要多个表达式才能实现,可以使用代码块将多个表达式包起来:
scala> def sum(n:Int):Int = {
for (i<-1 to 10)
r = r*i
r // return r 也可以
}
注:如果在函数体中不适用return返回函数值,name最后一个表达式的值就是函数返回值。
#超级重要的匿名函数
创建匿名函数不需要def关键字:
scala>(x: Int) = > x+1
res2: (Int) => Int = …
函数可以赋值给变量或常量,这是函数式编程的一个特点。将匿名函数赋值给addOne常量,后续代码汇总就可以使用addOne进行调用了:
scala>val addOne = (x: Int) = > x+1
scala>addOne(1)
res4: Int = 2
当函数多行表达式时,与上面一样可以使用{}来包围代码。
#对象定义
scala支持面向对象编程,使用class定义一个类,在类里面使用val定义成员变量,用def定义成员方法。
scala> class Calculator {
val brand: String = “CHEN”
def add(m: Int, n: Int): Int = m + n
}
使用new关键字创建对象,使用. 调用对象的属性和方法:
scala> val calc = new Calculator
scala> calc.add(1,2)
scala> calc.brand