scala基礎
安裝scala(不推薦使用最新版本,2.11.x夠用了)
- scala官網
- 2.11.12版本下載頁面
這里我選擇2.11.12版本,在下載頁面往下拉,選擇scala-2.11.12.msi(windows用戶),msi安裝比較簡單,一直點點就行,如果下載速度慢,建議用迅雷,
安裝完后,配置環境變數,如圖:

- 在命令列中輸入scala -version驗證是否安裝成功,
宣告值和變數
安裝成功后在命令列中輸入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中的靜態方法一樣,類名+方法名就可以直接呼叫,
apply方法
在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直接創建陣列,
最后
- scala檔案
碼字不易,喜歡的點個贊唄,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/411.html
標籤:Scala

