来源:http://blog.csdn.net/lovehuangjiaju/article/details/47746391
1 变量定义
//声明一个val变量
//与java final关键字声明的变量一样
//一旦被赋值,便不能更改
//Scala会帮我们进行类型推断
scala> val helloString="Hello World"
helloString: String = Hello World
//也可以进行类型指定
scala> val helloString:String="Hello World"
helloString: String = Hello World
//String其实就是java.lang.String
scala> val helloString:java.lang.String="Hello World"
helloString: String = Hello World
//不能被重新赋值,因为它是val变量
scala> helloString="Hello Crazy World"
<console>:8: error: reassignment to val
helloString="Hello Crazy World"
下面给出的延迟加载变量:
//lazy关键字声明变量
//表示该变量不会马上赋值
//而在真正被使用时才赋值
scala> lazy val helloString="Hello Crazy World"
helloString: String = <lazy>
//在真正使用时被赋值
scala> helloString
res1: String = Hello Crazy World
scala中也存在可变变量,即随着程序的运行,变量内容可以动态变化:
//var 声明可变变量
scala> var helloString="Hello Cruel World"
helloString: String = Hello Cruel World
//重新赋值
scala> helloString="GoodBye Cruel World"
helloString: String = GoodBye Cruel World
2 函数初步
scala中通过下列方式进行函数定义:
//定义了一个函数,函数中使用return返回结果
scala> def add(a:Int,b:Int):Int={return a+b}
add: (a: Int, b: Int)Int
scala> add(1,2)
res3: Int = 3
//可以省去return,scala会将最后一个执行语句
//作为函数的返回值
scala> def add(a:Int,b:Int):Int={a+b}
add: (a: Int, b: Int)Int
//省去返回值类型,scala会自动进行类型推断
scala> def add(a:Int,b:Int)={a+b}
add: (a: Int, b: Int)Int
scala> add(1,2)
res4: Int = 3
3 HelloWorld应用程序:
package cn.xtwy.scala.chapter01
//scala应用程序同样采用main方法作为应用程序的入口
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello World")
}
}