环境搭建:下载scala解压,并配置环境变量SCALA_HOME与PATH
在命令行里输入scala启动
Scala解释器
scala>8*5+2
res0: Int = 42
(res0作为变量名可以直接在之后的计算中引用)
scala>"hello,"+res0
res1:java.lang.String=hello,42
(+相当于java里的字符串的用法,在scala中,+是方法,所以也可以写作 "hello".+(res0) )
scala中各种类型都有toXXX等方法,但比java更丰富
如
当方法不需要传递参数的时候,可以直接省略()
scala程序并不是一个解释器,实际是输入的内容被快速编译成字节码然后在jvm上运行
所以更合适地是称为REPL(Read Eval Print Loop),即读取-求值-打印-循环
声明值和变量
声明常量使用val,声明变量使用var,常量声明之后就不能改变其值,不过一般还是声明常量用得比较多
类型会根据赋予的值自动判定,若要指定类型,可在变量名后加 :类型 来指定变量
常用类型
Byte,Char,Short,Int,Long,Float,Double Boolean 这些都是类,scala并不可以区分基本类型和包装类,都会在编译时自动转化
StringOps类:在scala中,java.lang.String类通过StringOps类来给字符串提供很多有用的方法
RichXXX类:如RichInt,提供Int更多的方法,Int类型的变量可以直接调用RichInt的方法
算术和操作符重载
scala中方法的使用方式可以有
a 方法 b
a.方法(b)
scala中没有++操作,而是使用+=1操作
在调用方法时,可以通过导入包来简化代码,如在算2的开房时
scala.math.sqrt(2)
可以先导入包
import scala.math._ (_相当于java中的*)
sqrt(2)
apply方法
通过重载操作符()可以调用apply方法例如
相当于java里的charAt方法
原本写作
BigInt的apply方法
Scaladoc
可以通过scaladoc查看各种类和方法