簡介
Scala是一種多范式的編程語言(多范式:多種編程方法的意思,有面向程序、面向物件、泛型、函式式四種程式設計方法),其設計的初衷是要集成面向物件編程和函式式編程的各種特性,Scala運行于Java平臺(Java虛擬機),并兼容現有的Java程式
官網:https://www.scala-lang.org/
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中也是可以運行的")
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/555170.html
標籤:Scala
下一篇:返回列表
