# Scala 教程

Scala 是一門多范式(multi-paradigm)的編程語言,設計初衷是要集成面向對象編程和函數式編程的各種特性。
Scala 運行在Java虛擬機上,并兼容現有的Java程序。
Scala 源代碼被編譯成Java字節碼,所以它可以運行于JVM之上,并可以調用現有的Java類庫。
## 誰適合閱讀本教程?
本教程適合想從零開始學習 Scala 編程語言的開發人員。當然本教程也會對一些模塊進行深入,讓你更好的了解 Scala 的應用。
## 學習本教程前你需要了解
在繼續本教程之前,你應該了解一些基本的計算機編程術語。如果你學習過Java編程語言,將有助于你更快的了解 Scala 編程。
學習 [Java 教程](/java/java-tutorial.html)。
## 第一個 Scala 程序:Hello World
以下是用 Scala 編寫的典型 Hello World 程序:
## 實例(HelloWorld.scala)
```
object HelloWorld {
????def main(args: Array[String]): Unit = {
????????println("Hello, world!")
????}
}
```
[運行實例 ?](/try/runcode.php?filename=HelloWorld&type=scala)
將以上代碼保存為 HelloWorld.scala 文件,執行以上 scala 程序(你也可以直接在線執行):
```
$ scalac HelloWorld.scala
$ scala HelloWorld.scala
```
輸出結果為:
```
Hello, world!
```
## 相關文檔推薦
以下是一份 [Scala語言規范.pdf](http://static.runoob.com/download/Scala%E8%AF%AD%E8%A8%80%E8%A7%84%E8%8C%83.pdf) 文檔,可作為學習參考:
- Scala 教程
- Scala 簡介
- Scala 安裝
- Scala 基礎語法
- Scala 數據類型
- Scala 變量
- Scala 訪問修飾符
- Scala 運算符
- Scala IF...ELSE 語句
- Scala 循環
- Scala while 循環
- Scala do...while 循環
- Scala do...while 循環
- Scala break 語句
- Scala 函數
- Scala 函數傳名調用(call-by-name)
- Scala 指定函數參數名
- Scala 函數 - 可變參數
- Scala 遞歸函數
- Scala 高階函數
- Scala 函數嵌套
- Scala 匿名函數
- Scala 偏應用函數
- Scala 函數柯里化(Currying)
- Scala 閉包
- Scala 字符串
- Scala 數組
- Scala Collection
- Scala List(列表)
- Scala Set(集合)
- Scala Map(映射)
- Scala 元組
- Scala Option(選項)
- Scala Iterator(迭代器)
- Scala 類和對象
- Scala Trait(特征)
- Scala 模式匹配
- Scala 正則表達式
- Scala 異常處理
- Scala 提取器(Extractor)
- Scala 文件 I/O