1. 程式人生 > >[筆記遷移][Spark開發語言][Scala][1]基礎語法

[筆記遷移][Spark開發語言][Scala][1]基礎語法

  1. 關於Scala直譯器(Scala Shell) (1) cmd啟動:輸入scala,“scala>” (2) REPL:Read(取值)->Evaluation(求值)->Print(列印)->Loop(迴圈)

  2. Scala並非解釋型語言,與Java一樣需要編譯為位元組碼.class,最終運行於JVM。Scala可以任意呼叫Java類庫。

  3. 計算表示式與內建變數 ResultN

  4. 自動補全——Tab鍵

  5. 宣告標識

    相關 說明
    val 類似Java的final常量,宣告賦值一次後,其值不可改變。大型的複雜分散式系統中經常使用。
    var 宣告普通變數
    型別
    隱式:自動根據“值”進行型別推斷顯示:“引數名:型別”,例var name : Any = “hello”
  6. Scala資料型別

    Scala可宣告的全部是複雜引用型別->區分大小寫 Java
    Byte Byte
    Int Integer
    Long Long
    Float Float
    Double Double
    Char Character
    Boolean Boolean
    String String
    Any Object
  7. Scala型別擴充套件

    簡單型別 擴充套件型別
    Int RichInt
    Double RickDouble
    Char RichChar
    String StringOps
  8. 一些操作

    說明 圖示
    1.toString() 可以簡寫為 1.toString toString
    1.to (10) //RickInt的方法1.to 10 //操作符to to
    hello".intersect(“hero”) //StringOps方法 intersect
    直接的大數運算宣告為BigIntJava中要做大數運算必須使用方法multiply() bigInt

    特別重要的說明: (1) 呼叫方法時,若不需要傳遞引數,則用於引數列表定界的括號可以省略。

    (2) Scala沒有強制型別轉換,只能使用方法toXXX轉換為目標型別XXX TypeConvert

    (3) Scala沒有++和–,但支援+=, -=, *=, /= op= 賦值操作沒有返回值(顯然,這是程式語言的公共特性)

    (4) val或var後必須初始化,不能簡單宣告 initAfterVarVal

    (5) Scala像Python一樣可以自動按行分隔,往往不需要語句分隔符; 但如果在一行內有多條語句,則必須使用分隔符;

    (6) {}中最後一個語句的返回值就是該塊表示式返回值

  9. Scala中使用 “_” 標識萬用字元,如 import scala.math._

  10. apply() 在Scala的結構Object中,可以宣告apply()函式。 而使用“類名()”的形式,其實就是“類名.apply()”的一種縮寫,通常使用這種方法來獲取對應的伴生物件。

  11. print() / println() / printf() 與 readLine("") / readXXX()