這裏我選擇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