1. 程式人生 > >Scala學習筆記(一):基礎篇

Scala學習筆記(一):基礎篇

1、進入scala:直接輸入scala即可

2、退出:輸入:quit或者:q都可以

3、輸入變數一部分,按Tab鍵可補全可呼叫的方法名稱

4、從技術上講Scala並不是一個直譯器,實際上是將讀取的輸入內容迅速的編譯成位元組碼,然後交由Java虛擬機器執行,也被稱為REPL(讀取-計算-列印-迴圈)

5、宣告常量值使用val,如val a=10;(注:使用val定義的變數的值不允許再修改,否則會報error: reassignment to val的錯誤)

6、var 宣告的變數值可改變

7、變數在定義時必須做初始化,否則會報錯,而且同一行程式碼中有多條語句時需用分號;隔開

8、Scala有9種數值型別,Byte、Int、Long、String、Double、Char、Short、Float、Boolean,與Java不同的是Scala不區分值型別與引用型別,因為你可以對一個整型使用toString方法,如1.toString

9、基本資料型別轉換:String在操作時可以被隱式轉換成StringOps物件,通過StringOps物件給字串添加了上百種操作,如:"hello".intersect("world")找出兩個字串中共同的字元、toString方法轉換成字串、toInt、toDouble轉換成數字等方法

    刪除某個字元"hello".drop(2)輸出llo,刪掉了左邊兩個,dropRight(2)是刪掉右邊兩個

    "hello".filter(_!='l')輸出heo,將l過濾掉了

10、Scala還提供了RichInt,RichDouble,RichChar等類,他們提供了Int,Double,Char所不能提供的高階方法,例如前面使用的

       1.to(5)  //產出 Range(1,2,3,4,5),

       實際上是使用RichInt類中的方法,Int值1首先被轉成RichInt,然後在y應用to方法。

11、Scala中,我們用方法,而不是強制型別轉換,例如99.44.toInt得到99

12 、Scala中有一顯著不同點,Scala不提供++和--操作符,我們需要使用+=1或者-=1:

        count+=1           //將count遞增

13、呼叫函式和方法,scala提供函式,相比java更簡單,比如:sqrt(2),pow(2,4),min(3,pi) 這些數學函式在Import scala.math._抱中定義的,_字元是“萬用字元”,類似於java中的*,使用scala.開頭的包,我們可以省略scala字首,例如:import math._

14、不帶引數的scala方法通常不使用圓括號,例如,StringOps類的API中有個distinct方法,不帶(),其作用是獲取字串中不重複的字元,呼叫:"HELL".distinct       一般來講沒有引數且不改變當前物件的方法不帶圓括號。

16、一個類對應一個伴生物件,其方法和Java中的靜態方法一樣。

17、JAVA程式設計師用Javadoc來瀏覽API,Scala使用Scaladoc進行瀏覽。