秉着簡潔而不失完整的的原則,這章只把Scala主要語法和與Java不一樣的內容列出來,之後章節也如此,內容以簡潔爲主,太長了本身都被嚇着了,也沒耐心看下去。java
1.Scala解釋器使用,這裏不作介紹,有IDE這玩意通常用不着。函數
2.基本數據類型性能
Java原始類型在scala包裏都有對應的類。例如,scala.Boolean對應着Java的boolean。scala.Float對應着Java的float。當你把你的Scala代碼編譯成Java字節碼,Scala編譯器將使用Java的原始類型以便得到其帶來的性能益處。學習
3.定義變量scala
Scala有兩種變量,val和var。val相似於Java裏的final變量。一旦初始化了,val就不能再賦值了。與之對應的,var如同Java裏面的非final變量。var能夠在它生命週期中被屢次賦值。code
val msg1=」hello scala」 var msg2=」hello world」
仔細看上面定義的2個變量好像都沒有類型聲明,這是怎麼回事呢?這就要說到Scala的類型推斷(type inference),由於你用了一個字符串來初始化msg變量,Scala推斷msg的類型是String。你也能夠顯式地定義類型,有些時候也應該這麼作。顯式的類型標註不但能夠確保Scala編譯器推斷你傾向的類型,還有助於之後代碼的閱讀。生命週期
val msg : String=」hello scala」 與Java不一樣的是類型聲明在變量後面,用一個」:」分隔。
4.定義函數字符串
上面已經定義了變量,如今開始學習怎麼定義一個函數編譯器
def max(x: Int, y: Int): Int = { //定義函數 if (x > y) x else y } max(3,7) //調用函數
本身對照看與 java函數有什麼不一樣,函數體只有一句的大括號能夠省略寫成 :編譯
def max(x: Int, y: Int) = if (x > y) x else y
結果類型也去掉了,編譯器類型推斷可得出,儘管如此帶上結果類型也是一個好習慣,便於其餘人閱讀代碼。