Scala是一種多範式的編程語言,設計初衷是要集成面向對象編程和函數式編程的各類特性。scala能夠和java程序無縫拼接,由於scala文件編譯後也是成爲.class文件,而且在JVM上運行,有下下一代Java之稱,固然要有Java今天的陣勢還有很長很長的一段路要走。html
Scala的幾個主要特性java
1.面向風格:Scala中的每一個值都是一個對象,包括基本數據類型(java中基本類型不是對象)在內,連函數也是對象。編程
2.函數式風格:高階函數(Higher-Order Function)、局部套用(Currying)、嵌套函數(Nested Function)、序列解讀(Sequence Comprehensions)等等。eclipse
3.Scala是靜態類型的,這就容許它提供泛型類、內部類、甚至多態方法(Polymorphic Method)編程語言
4.Scala能夠與Java互操做:它用scalac這個編譯器把源文件編譯成Java的class文件(即在JVM上運行的字節碼)。你能夠從Scala中調用全部的Java類庫,也一樣能夠從Java應用程序中調用Scala的代碼。它也能夠訪問現存的數之不盡的Java類庫,這讓(潛在地)遷移到Scala更加容易。ide
1.安裝Scala,這個不用多說函數式編程
Scala目前最新的版本爲2.11.8,下載地址http://www.scala-lang.org/,我下載的.msi文件,直接安裝完畢自動添加了path函數
2.安裝IDE測試
(1)直接下載ScalaIDE,安裝完後就能夠直接使用。spa
(2)已安裝有Eclipse的,能夠安裝scala支持插件,支持的eclipse版本是3.8-4.3 (Juno and Kepler)
插件地址 http://download.scala-ide.org/sdk/helium/e38/scala211/stable/site
其餘版本:http://scala-ide.org/download/prev-stable.html
3.寫一段代碼測試一下
package com.demo object Demo {//注意這裏是object 不是 class 喔,二者區別後面會講到。 def main(args: Array[String]): Unit = { println("hello scala!") println("hello world!");//分號可選要不要 } }