以下笔记只是对Scala的语法和使用做简单记录
1、在线Scala编译器Scalakata.com,也可自行安装IDE开发工具并配置开发环境
2、Scala 定义了两种类型的变量 val 和 var ,val 类似于Java中的final 变量,一旦初始化之后,不可以重新赋值(我们可以称它为常变量)。而var 类似于一般的非final变量。可以任意重新赋值。
3、函数:Scala既是面向对象的编程语言,也是面向函数的编程语言。
Scala函数以def定义,然后是函数的名称(如max),然后是以逗号分隔的参数。Scala中变量类型是放在参数和变量的后面,以“:”隔开。这种做的一个好处是便与”type inference”。同样如果函数需要返回值,它的类型也是定义在参数的后面(实际上每个Scala函数都有返回值,只是有些返回值类型为Unit,类似为void类型)。
此外每个Scala表达式都有返回结果(这一点和Java,C#等语言不同),比如Scala的 if else 语句也是有返回值的,因此函数返回结果无需使用return语句。实际上在Scala代码应当尽量避免使用return语句。函数的最后一个表达式的值就可以作为函数的结果作为返回值。
demo 函数:
def max(x:Int, y:Int):Int= {
if(x>y) x
else y
}
4、Scala不支持 ++i,i++ 运算符,因此需要使用i+=1 来加一
5、Scala访问数组的语法是使用()而非[]
var i=0
var args = new Array[String](3)
args(0) = "I"
args(1) = "like"
args(2) = "the World"
while(i<args.length) {
println(args(i))
i+=1;
}
println(max(1,2))
def max(x:Int, y:Int):Int= {
if(x>y) x
else y
}
6、使用 foreach和 for 来实现迭代
1)args.foreach(arg => println(arg))
2)args.foreach( println)
3)for (arg <-args)
println(arg)
以上内容基于http://blog.csdn.net/mapdigit/article/details/21878083整理笔记