上一篇里面我们介绍了如何安装scala以及如何的配置环境变量
接下来我们就介绍下如何使用解释器来编写简单的scala代码
打开控制台,进入scala开发模式:
bokee@debian70:~$ scala
Welcome to Scala version 2.9.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_26).
Type in expressions to have them evaluated.
Type :help for more information.
scala>
1.简单的输出
scala> 1+2
res0: Int = 3
直接输入 1 + 2 ,返回res0: Int = 3
res0表示变量名, Int表示类型, 3是值。
Scala的类型定义在冒号后面,和java放在前面不同,和UML类图的属性定义方式一样。
Scala是强类型语言,必须要定义类型,但Scala编译器足够聪明,他能够根据你的值帮你定义变量的类型。
这里res0是个变量名,所以你可以接下来再使用。
2.再次简单测试
scala> res0*3
res1: Int = 9
解释器又给了一个变量res1。
scala> res0.*(res1)
res2: Int = 27
3.简单的输出信息
scala> println("Test msg!")
Test msg!
这个println是个方法,因为Scala有预定义导入一些类,所以可以直接使用。
4.定义变量
Scala有两种类型的变量,val 和var 。
val 变量的值只能初始化一次,再次赋值就发生错误,var就和java的变量相同,可以随时修改。
val 是函数式编程的风格,变量一旦赋值就不要再做修改,从程序上将有很多好处,但有时候做起来会比较绕。
val:
scala> val msg:String="Hello world!"
msg: String = Hello world!
scala> msg="sssss"
:8: error: reassignment to val
msg="sssss"
^
scala> var msg2="Hello world!2"
msg2: java.lang.String = Hello world!2
scala> msg2="ssssss"
msg2: java.lang.String = ssssss
scala> println(msg+";"+msg2)
Hello world!;ssssss
scala> def max(x: Int, y: Int): Int = if(x < y) y else x
max: (x: Int, y: Int)Int
scala> max(1,2)
res2: Int = 2
Scala的变量表示是变量名: 类型 ,这一点和java甚至其他语言都很不同,和UML风格比较接近。
Scala中方法也是一个类型,或者说是一个值,成为First Class。
所以可以把max看成是个变量名,(Int,Int)Int是它的类型。他可以作为参数传递,也可以赋值给其他变量。
scala> val m=max _
m: (Int, Int) => Int =
scala> m(1,3)
res3: Int = 3