# 簡介 Scala是一種多範式的編程語言(多範式:多種編程方法的意思。有面向過程、面向對象、泛型、函數式四種程式設計方法),其設計的初衷是要集成面向對象編程和函數式編程的各種特性。Scala運行於Java平臺(Java虛擬機),並相容現有的Java程式 > 官網:https://www.scala ...
簡介
Scala是一種多範式的編程語言(多範式:多種編程方法的意思。有面向過程、面向對象、泛型、函數式四種程式設計方法),其設計的初衷是要集成面向對象編程和函數式編程的各種特性。Scala運行於Java平臺(Java虛擬機),並相容現有的Java程式
Scala以一種簡潔的高級語言結合了面向對象和函數式編程。 Scala的靜態類型有助於避免複雜應用程式中的bug,它的JVM和JavaScript運行時讓您能夠輕鬆地構建高性能系統,並輕鬆訪問巨大的庫生態系統。
為什麼要學習scala
- 優雅:這是框架設計師第一個要考慮的問題,框架的用戶是應用開發程式員,API是否優雅直接影響用戶體驗。
- 速度快:Scala語言表達能力強,一行代碼抵得上Java多行,開發速度快;Scala是靜態編譯的,所以和JRuby,Groovy比起來速度會快很多。
- 能融合到Hadoop生態圈:Hadoop現在是大數據事實標準,Spark並不是要取代Hadoop,而是要完善Hadoop生態。JVM語言大部分可能會想到Java,但Java做出來的API太醜,或者想實現一個優雅的API太費勁。
- spark分散式運算框架是scala語言編寫的
發展史
scala和java的關係
正常情況下,會scala的程式員都是會Java的,scala是基於java的,所以我們先搞清楚java,scala和jvm的關係
特點
Scala是一門以Java虛擬機(JVM)為運行環境並將面向對象和函數式編程的最佳特性結合在一起的靜態類型編程語言(靜態語言需要提前編譯的如:Java、c、c++等,動態語言如:js)。
- Scala是一門多範式的編程語言,Scala支持面向對象和函數式編程。
- Scala源代碼(.scala)會被編譯成Java位元組碼(.class),然後運行於JVM之上,並可以調用現有的Java類庫,實現兩種語言的無縫對接。
- Scala單作為一門語言來看,非常的簡潔高效,可以為我們的代碼避免一些bug。
salca環境搭建
由於scala是基於java來開發的, 編寫的java類可以使用javac命令編譯成.class文件被JVM載入到記憶體中執行 ! 那麼scala可以通過scalac命令將編寫的scala文件編譯成.class文件一樣被JVM載入到記憶體中,因此Scala是運行在JVM平臺上的,所以安裝Scala之前要安裝JDK!
Windows
方式一
訪問Scala 官網 下載Scala編譯器安裝包,目前最新版本是3.1.3,但是目前大多數的框架都是用2.12.x編寫開發的,Spark3.x使用的就是2.12.x,所以這裡推薦2.12.x版本,下載scala-2.12.11.msi後點擊下一步就可以了!
方式二
解壓配置系統環境變數
在windows的控制台輸入scala ,顯示如下消息說明windows環境搞定!
註意 1:解壓路徑不能有任何中文路徑,最好不要有空格。
註意 2:環境變數要大寫 SCALA_HOME
Linux
- 下載後上傳Scala文件到linux上的定目錄
- 解壓
- 配置環境變數,將scala加入到PATH中
vi /etc/profile
export SCALA_HOME=/opt/app/scala/scala-2.12.11
export PATH=$PATH:$JAVA_HOME/bin:/usr/java/scala-2.12.11/bin
測試驗證scala安裝完成,任意位置輸入scala後顯示scala的命令行,然後在裡面測試兩數相加
配置Idea
方法一:離線安裝
打開jetbrains得官網:http://www.jetbrains.com後點擊Develop Tools後選擇scala
然後選擇idea對應得版本下載插件(DownLoad即可)
打開idea後找到左上角得File --》settings --》plugins
點擊設置選擇Install Plugin from Disk ...後選擇剛纔下載得插件,點擊ok後重啟idea即可
方法二:線上安裝
打開idea後找到左上角得File --》settings --》plugins--》搜索scala後install後重啟idea即可
創建scala項目
- 創建一個maven項目
- 在src--》main--》創建一個scala包
- 右擊scala包下選擇Mark Directory as --》 Sources Root
4. 右擊項目名--》Add Framework Support...
5. 進去選擇scala,然後將scala得sdk添加進去,點擊ok即可創建scala類了
編寫scala的類
- scala文件都是以.scala結尾的
- scala中的命名規範和java中的一致
- scala中的main方法要寫在objec修飾的類中
- scala的執行流程和java的類似 , 先編譯再執行,因此有編譯期的錯誤推導
- scala 代碼中的行末尾的分號最好不書寫 ,體現其簡潔
object HelloWorld {
def main(args: Array[String]): Unit = {
println("HelloWorld")
System.out.println("java中的一部分代碼在scala中也是可以運行的")
}
}