文章目錄
- 零、本講學習目標
- 一、Scala簡介
- (一)Scala概述
- (二)函式式編程
- (三)完全兼容Java
- (三)Scala特性
- 1、一切都是物件
- 2、一切都是函式
- 3、一切都是運算式
- (四)在線運行Scala
- 二、Windows上安裝Scala
- (一)下載Scala
- 三、Linux上安裝Scala
零、本講學習目標
- 了解Scala語言的特點
- 學會搭建Scala開發環境
一、Scala簡介
(一)Scala概述
- Scala是Scalable Language的簡寫,是一門多范式的編程語言,由聯邦理工學院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的作業開始設計,設計初衷是要集成面向物件編程和函式式編程的各種特性,
- Scala是一種純面向物件的語言,每個值都是物件,同時Scala也是一種函式式語言,其函式也能當成值來使用,由于Scala整合了面向物件語言和函式式編程的特性,Scala相對于Java、C#、C++等其他語言更加簡潔,
- Scala源代碼被編譯成Java位元組碼,所以它可以運行于JVM之上,并可以呼叫現有的Java類別庫,Scala一開始就打算基于Java的生態系統發展自身,而這令Scala受益匪淺,
(二)函式式編程
-
函式式編程:將所有復雜的問題的解決,拆分為若干函式的處理,每一個函式可以去實作一部分功能,利用很多次函式的處理,最終解決問題,
-
函式式編程相對于面向物件編程,更加的抽象,好處是,代碼可以非常的簡潔,更多的采用常量而不是變數來解決問題,這樣額外帶來的好處:在執行緒并發時,可以減少甚至杜絕多執行緒并發安全問題,特別適合于應用在處理高并發場景、分布式場景下的問題,函式式編程可以使用高階函式,函式是一等公民,可以更加靈活的進行程式的撰寫,
-
函式式編程并不是面向物件編程的發展,而是另外一種解決問題的思路,兩者之間也并沒有絕對的好壞之分,在不同的場景中各有各的優缺點,
(三)完全兼容Java
.java ? \Longrightarrow ? .class ? \Longrightarrow ? jvm
.scala ? \Longrightarrow ? .class ? \Longrightarrow ? jvm
- Scala 是完全兼容Java的,其實Scala就是在Java語言的基礎上增加了一層編碼的 “殼”,讓程式人員可以通過函式式編程的方式來開發程式,由于Scala最終被編譯為.class,所以其實本質上還是Java,所以在Scala中可以任意的呼叫Java的API,
- 好處顯而易見:1. 讓Jva程式員可以更無障礙的轉到Scala;2. 讓原先Java的API仍然可以在Scala中使用;3. 公司中的Java平臺不用替換就可以使用Scala,
(三)Scala特性
- 在很多地方
Scala都很像Java,也是靜態型別語言,但是比Java更為函式式編程,這句話主要從三句話就可以理解“一切都是物件”,“一切都是函式”以及“一切都是運算式”三方面理解,
1、一切都是物件
Scala里一切都是物件,這大概和Python很像,因為即便是數字1都有一系列的方法,所以我們可以呼叫1.toDouble將Int型別的1轉換為Double型別的1,
2、一切都是函式
- 表現為可以多載運算子,跟
Python很像,在一定程度上Scala是Java和Python生的孩子,只不過遺傳基因比較大的卵子是Java提供的,而比較小的那顆精子則是Python提供的,
3、一切都是運算式
- 在
Scala里,一切都是運算式,即使像if(){}else{}這樣的陳述句塊也是有回傳值的,
(四)在線運行Scala
- 通過瀏覽器訪問:Scala在線工具

- 單擊【點擊運行】按鈕,可以查看代碼運行結果

- 大家可以對照一下
Java的HelloWorld程式,兩者完全一一對應,相似度極高

二、Windows上安裝Scala
(一)下載Scala
- Scala下載網址:https://www.scala-lang.org/download

- 可以選擇下載Scala3,也可以選擇下載Scala2
三、Linux上安裝Scala
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/434608.html
標籤:其他
