首先咱們使用標準的 「Hello, world!」 程序來演示一下 Scala 的簡單使用java
object HelloWorld { def main(args: Array[String]): Unit = { println("Hello, world!") } }
這個程序的結構對於 Java 程序員來講應該比較熟悉: 程序由 main 方法組成, 它使用命令行參數即一個字符串數組做爲參數; main 方法體由一個對預約義函數 println 的簡單調用組成, println函數使用 「Hello, world!」 做爲參數, 最終結果會將 「Hello, world!」 打印輸出到標準輸出。main 方法沒有返回值 (它是一個過程函數). 所以沒有必要聲明一個返回值類型。程序員
而對於 Java 程序員來講不那麼熟悉的是 object 聲明包含了 main 方法。 這樣一種聲明介紹一般被稱爲一個單例對象, 即一個只有單個實例的類。所以*** object 聲明既聲明瞭一個叫作 HelloWorld 的類, 又聲明瞭這個類的一個實例, 它也叫作 HelloWorld***。這個實例在第一次使用的時候建立。shell
細心的讀者可能會注意到 main 方法沒有聲明爲 static。這是由於 Scala 中不存在靜態的成員(方法或字段)。Scala 程序員在單例對象中聲明這些成員, 而不是定義靜態成員。數組
在命令行中輸入 scala 命令並按下回車鍵, 便可啓動 Scala 解釋器, 從而能夠交互式地解釋 Scala 表達式。bash
上面實際發生了兩件事情: 一、HelloWorld 程序被編譯成了字節碼; 二、字節碼由 Java 虛擬機執行。函數
快捷鍵 :q 是內部 shell 命令 :quit 的簡寫, 它用來退出解釋器。ui
####一、編譯 scalac 命令能夠編譯一個或多個 Scala 源文件並生成能夠在任何標準的 JVM 上執行的 Java 字節碼。Scala 編譯器工做方式和 Java SDK 的編譯器 javac 相似。spa
將上述 "Hello, world!" 程序保存到文件 HelloWorld.scala 中, 而後使用下面的命令編譯它:插件
scalac HelloWorld.scala
scalac 編譯生成的字節碼文件默認放置在當前工做目錄下。你可使用 -d 選項來指定不一樣的輸出目錄。命令行
scalac -d /Users/jackiehff HelloWorld.scala
編譯後生成的文件有兩個:
HelloWorld$.class HelloWorld.class
至於爲何會生成有兩個文件,後面再寫文章詳述, 這裏再也不深究。
####二、運行 可使用帶有合適選項的 scala 命令執行生成的字節碼
scala -classpath . HelloWorld
最後會輸出指望的結果: Hello, world!。
也能夠將 "Hello, world!" 程序做爲一個 shell 腳本或是 批處理命令運行。bash shell 腳本 HelloWorld.sh 包含下面的 Scala 代碼以及 shell 序言
而後直接從命令行解釋器中運行:
sh HelloWorld.sh
最後也會輸出指望的結果: Hello, world!。
首先,在 IntelliJ IDEA 中安裝 Scala 插件:
在 IntelliJ IDEA 中建立一個 Scala 項目,而後建立 HelloWorld.scala 並運行:
##Scala Worksheet
使用Scala Worksheet的好處是: 在 IntelliJ IDEA中也能夠交互式地編譯運行 Scala 代碼。