關於Scala的知識點(一)

2022-09-19 01:15:10 字數 2218 閱讀 4082

scala的概念:

scala是乙個物件導向和面向函式式的多正規化程式語言,基於

jvm,執行於

j**a虛擬機器,相容現有j**a程式。

在scala程式設計中,「每個值都是物件,每個符號都是方法操作」。

在面向函式中,函式是乙個物件。他跟字串、數值具有同等地位,也就是說函式可以賦值給乙個變數,可以作為方法的引數,可以作為方法的返回值。函式操作在程式中是乙個輸入到輸出的對映關係。輸入引數不可變是函式式程式設計的基石。

"函式式程式設計"是一種"程式設計正規化"(programming paradigm)。它屬於"結構化程式設計"的一種,主要思想是把運算過程盡量寫成一系列巢狀的函式呼叫。

scala的優點:

1.優雅:scala語言設計非常貼合程式開發思維方式,並且能夠很輕鬆的實現複雜的功能。這是框架設計師第乙個要考慮的問題,框架的使用者是應用開發程式設計師,api是否優雅直接影響使用者體驗。

2.速度快:scala語言表達能力強,一行**抵得上j**a多行,開發速度快;scala是靜態編譯的,所以和jruby,groovy比起來速度會快很多。

3.能融合到hadoop生態圈: scala是目前大資料處理框架spark以及訊息中介軟體kafka的基礎開發語言,能夠很容易融入大資料生態圈。hadoop現在是大資料事實標準,spark並不是要取代hadoop,而是要完善hadoop生態。jvm語言大部分可能會想到j**a,但j**a做出來的api太醜,或者想實現乙個優雅的api太費勁。

4.語言表達能力強:scala的語

法結構非常簡單,但是其表達能力很強。比如迴圈遍歷集合操作,j**a至少需要4行 ,scala基本上1行**就可以搞定,能夠節省大量的開發成本,並且釋放了我們的鍵盤。

5.scala是基於jvm的程式語言,並且是靜態型別。能夠跟j

**a語法相互相容,且具有可移植的特性。

scala宣告變數:

val:不可變變數,一旦宣告在其生命週期中不可變,相當於j**a中的final修飾的變數。

var: 可變變數,可變指的是變數的值可變,變數的資料型別不可變。

注:宣告變數時,型別可以省略,型別確定後就不能修改。scala編譯器會自動推斷變數的型別,必要的時候可以指定型別。

scala常用資料型別:

1.整數型別:byte 、short、char、int、long

2.浮點型別:float、double

3.布林型別:boolean

4.字串型別:string

注意:

1.整型的省略資料型別後,預設的都是int型別

2.浮點的省略資料型別後,預設的都是double型別

scala運算子:

1.算數運算子 : + - * / %

2.比較運算子:> < >= <=

3.邏輯運算子:&& || !

4.位運算子:>> 《等

scala表示式:

1.條件表示式:if表示式可以有多種不同型別的返回值,在scala中無返回值的情況值預設返回 「()」

2.塊表示式:使用花括號括起來一段具有返回值的程式,就是塊表示式。其中塊的最後乙個表示式的值就是塊的值。

3.for迴圈:該表示式會返回新的資料集合

scala的方法定義:

1.方法的返回值是方法中最後乙個表示式,並且返回值型別可以省略。

2.方法的引數預設修飾符也是val,並且不能使用修飾符修飾。

3.針對遞迴呼叫的方法一定不能省略返回值。

scala中方法和函式的區別:

在函式式程式語言中,函式是「頭等公民」,它可以像任何其他資料型別一樣被傳遞和操作。函式是乙個物件,繼承自fuction。

方法只能作為物件的成員存在。

scala的資料結構:

1.陣列 array

2.列表 list

3.元組 tuple

4.對映 map

5.集合 set

其中array

、list、map、set資料結構又分為了可變和不可

以上是

本篇隨筆的內容,下一章將會講述資料結構

的詳細資訊和物件導向程式設計

scala知識點(一)

1.drop,dropright,dropwhile drop drop n int list a 丟棄前n個元素,返回剩下的元素 dropright dropright n int list a 丟棄最後n個元素,返回剩下的元素 dropwhile dropwhile p a boolean li...

scala的一些知識點(一)

函式 val sum x int,y int 方法 def sum x int,y int 定義方法 def m1 x int,f int int f x def m2 f int,int int f 2,3 def m3 f int,int int,x int,y int f x,y 定義函式 v...

scala 元組tuple的幾個知識點

通過下標 n取資料不多說了,下面是幾個比較有意思的知識點 知識點1 tuple 和function 和producct一樣最多隻支援22個元素 比如 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 這樣是沒問題的 但是 0,1,2,3,...