这里我选择2.11.12版本,在下载页面往下拉,选择scala-2.11.12.msi(windows用户),msi安装比较简单,一直点点就行。若是下载速度慢,建议用迅雷。 安装完后,配置环境变量,如图:
安装成功后在命令行中输入scala并回车就能打开scala的解释器。每次输入命令,解释器都会显示出结果。
正如你所看到的,解释器会给结果自动命名和显示结果类型,而且在后续操做中能够继续使用。而解释器这些操做过程也被称为“读取-求值-打印” 循环(read-eval-print-loop)即REPL,后面为了方便表示,咱们就称解释器为REPL。 你还能自定义本身的名称:
scala> val ans = 8*5+2 ans:Int = 42
这里已val定义的值其实是个常量,至关于java中的final,值不可改变。定义变量使用var。 通常状况下,推荐使用val,除非你真的须要改变它的内容。在定义的时候你还能够指定变量的类型,如:
var ans:Int = 8*5+2
说明:在scala中,变量和函数的类型老是写在变量和函数的名称后面。
scala有七种数值类型:Byte,Char,Short,Int,Long,Float,Double和Boolean类型。scala并无明确区分基本类型和引用类型,就都像java中的包装类,能够直接调用方法。
1.toString() // "1" 99.99.toInt() // 99 99.toChar() // 'c' // 在scala中','逗号能够省略,括号内没有参数能够不写括号 1 toString //不建议哈 1.toString //这个就能够 // 在scala中有隐式转换,好比:String对象被隐式转换成StringOps对象,追加上百种字符串操做。 "hello".intersect("world") //返回 "lo" // 一样地,scala还提供了RichInt,RichDouble,RichChar等,为原来的类型增长所不具有的便捷方法。 1.to(3) // 1,2,3 1.until(3) // 1,2
在scala中,_字符是通配符,相似java的*
val a:Int=_ // a=0 val b:Double=_ // b=0.0 val c:String=_ //c=null val d = _ // 报错
在scala中,类都有一个伴生对象,其方法就跟java中的静态方法同样,类名+方法名就能够直接调用。
在scala中,咱们读取字符串中的一个字符是这样的s(i)。
var s = "hello" println(s(4)) // 'o'
而在java中是这样的:
String s = "hello"; char c = s.charAt(4) // 'o'
其实scala之因此能这样获取字符串中的字符,是由于StringOps里面的apply方法。
s(i) 至关于 s.apply(i) //apply能够直接省略。
不少类的伴生对象都实现了apply方法,因此咱们能够直接 对象名() 实现apply方法。
val array:Array[Int] = Array(1,2,3) // 使用apply直接建立数组。
码字不易,喜欢的点个赞呗。javascript