[Scala]Scala安裝以及在IDEA中配置Scala

 

一  Scala簡述

Scala (斯卡拉)是一門多範式(multi-paradigm)的編程語言。java

 

這裏所謂的範式,指的是編寫程序的方式,不一樣的編程語言,方式也不盡相同,也就意味着Scala編程語言是融合了多種不一樣編程方式的語言。因此Scala語言的設計初衷是要集成面向對象編程和函數式編程的各類特性。編程

二  Scala與Java的關係

創始人馬丁·奧德斯基(Martin Odersky)是編譯器及編程的狂熱愛好者,長時間的編程以後,但願發明一種語言,可以讓寫程序這樣的基礎工做變得高效,簡單,且使人愉悅。因此當接觸到JAVA語言後,對JAVA這門便攜式,運行在網絡,且存在垃圾回收的語言產生了極大的興趣,因此決定將函數式編程語言的特色融合到JAVA中,由此發明了兩種語言(Pizza & Scala),這兩種語言極大地推進了Java編程語言的發展。且如今主流JVM的javac編譯器就是馬丁·奧德斯基編寫出來的,並被JAVA編程人員普遍的使用,因此Scala語言起源於Java,卻推進着Java的發展,它們是相輔相成的。網絡

 

正是基於上面的緣由,因此Scala源代碼(.scala)會被編譯成Java字節碼(.class),而後運行於JVM之上,並能夠調用現有的Java類庫,實現兩種語言的無縫對接,所以,對於已經掌握JAVA語言的咱們來說,學習起來必定會略顯輕鬆。maven

 

Scala是一門以java虛擬機(JVM)爲目標運行環境並將面向對象函數式編程的最佳特性結合在一塊兒的靜態類型編程語言。(運行以前必定知道類型是什麼)編程語言

三  Scala安裝與配置

3.1  安裝

Scala須要Java運行時庫,安裝Scala須要首先安裝JVM虛擬機,推薦安裝JDK1.8。函數式編程

http://www.scala-lang.org/ 下載Scala2.11.8程序安裝包函數

 

根據不一樣的操做系統選擇不一樣的安裝包,下載完成後,將安裝包解壓到安裝目錄。將scala安裝目錄下的bin目錄加入到PATH環境變量:工具

SCALA_HOME:oop

SCALA_HOME= D:\scala-2.11.8學習

PATH:

在PATH變量中添加:%SCALA_HOME%\bin

安裝好scala並配置好PATH環境變量以後,就能夠在終端中輸入「scala」命令打開scala解釋器:

 

注意:該操做Windows和Linux配置流程是同樣的。能夠參考Java的JDK的配置過程。

到此爲止,Scala的安裝已經成功。

3.2  Scala的REPL

上面打開的scala命令行窗口,咱們稱之爲REPL,是指:Read->Evaluation->Print->Loop,也稱之爲交互式解釋器。相似於MySQL的默認客戶端工具

在命令行窗口中輸入scala指令代碼時,解釋器會讀取指令代碼並計算(Evaluation)對應的值,而後將結果打印(Print)出來,接着循環等待用戶輸入指令(Loop)。

從技術上講,這裏其實並非一個解釋器,而是指令代碼被快速的編譯成Java字節碼並被JVM加載執行。最終將執行結果輸出到命令行中。

3.3  配置IDEA

1) 打開IDEA工具,如圖:點擊Configure

 

2) 點擊Plugins

 

 

3) 點擊Install plugin from disk

 

4) 選擇scala的plugins

 

5) 此時會顯示一個Scala的條目,在右側點擊Restart IntelliJ IDEA

 

6) 建立Maven項目

建立的maven項目默認是不支持scala的,須要爲項目添加scala的framework,如圖:

在這裏選擇Scala後,在右邊的Use library中配置你的安裝目錄便可,最後點擊OK。

 

7) 在項目的目錄結構中,建立scala文件夾,並標記爲source

 

8) 以上配置都完成後,就能夠在scala上點擊右鍵建立scala class

 

四  Scala示例

4.1  IDEA運行HelloScala程序

1) 在scala上右鍵,建立scala object

 

2) 編寫代碼以下:

object HelloScala {

  def main(args: Array[String]): Unit = {

    println("Hello Scala") // 打印字符串

  }

}

右鍵Run HelloScala,如圖:

 

4.2  Scaladoc

若是想要了解Scala中提供了哪些類,哪些方法,能夠參考Scala提供的doc文檔

相關文章
相關標籤/搜索