scala入門篇之-簡介

近期學習到Spark首先花一下午的時間學習一下與之緊密結合的scala腳本語言:
首先我們的安裝一個運行環境
1.根據你選擇的scala版本來驗證你的JDK版本是否合格,怎麼選擇,如何考慮,本文不作概述。
在這裏插入圖片描述
2.到官網下載合適的scala,進行安裝:
展示在windows上的安裝成果:
在這裏插入圖片描述
3.安裝好scala後進行一些基礎操作。練習一下。
Scala與Java沒有什麼太大的區別,最大的區別大概就是Scala可以不寫分號;但此處需注意一點:如果是在命令行編程Scala以行爲單位,所以必須在每個語句結束時加上分號以區分同一行的其他語句。

在這裏插入圖片描述
在這裏插入圖片描述

object WordCount{
	def main(args:Array[String]){
		println("hehhehehehh")
	}
}

基本語法:
1.區分大小寫:Scala是大小寫敏感的,這意味着標識Hello和hello在Scala中會有不同的含義。
2.類名-對於所有的雷明的第一個字母要大寫
如果需要多個單詞來構成一個類的名稱,每個單詞的第一個字母要大寫。
3.方法名稱:所有的方法名稱的第一個字母小寫
如果若干單詞被用於構成方法的名稱,則每個單詞的第一個字母應大寫。
4.程序文件名:程序文件的名稱應該與對象名稱完全匹配,新版本可以不匹配,但保持良好的編程習慣是必要的!
5.標識符
Scala 可以使用兩種形式的標誌符,字符數字和符號。
字符數字使用字母或是下劃線開頭,後面可以接字母或是數字,符號$在 Scala 中也看作爲字母。然而以$開頭的標識符爲保留的 Scala 編譯器產生的標誌符使用,應用程序應該避免使用$開始的標識符,以免造成衝突。
Scala 的命名規則採用和 Java 類似的 camel 命名規則,首字符小寫,比如 toString。類名的首字符還是使用大寫。此外也應該避免使用以下劃線結尾的標誌符以避免衝突。符號標誌符包含一個或多個符號,如+,:,? 等。
Scala 內部實現時會使用轉義的標誌符,比如:-> 使$colon$minus$greater 來表示這個符號。因此如果你需要在 Java 代碼中訪問:->方法,你需要使用 Scala 的內部名稱 $colon$minus$greater。
混合標誌符由字符數字標誌符後面跟着一個或多個符號組成,比如 unary_+ 爲 Scala 對+方法的內部實現時的名稱。字面量標誌符爲使用"定義的字符串,比如 x yield
你可以在"之間使用任何有效的 Scala 標誌符,Scala 將它們解釋爲一個 Scala 標誌符,一個典型的使用爲 Thread 的 yield 方法, 在 Scala 中你不能使用 Thread.yield()是因爲 yield 爲 Scala 中的關鍵字, 你必須使用 Thread.yield()來使用這個方法。
空行和空格
一行中只有空格或者帶有註釋,Scala 會認爲其是空行,會忽略它。標記可以被空格或者註釋來分割。
換行符
Scala是面向行的語言,語句可以用分號(;)結束或換行符。Scala 程序裏,語句末尾的分號通常是可選的。如果你願意可以輸入一個,但若一行裏僅 有一個語句也可不寫。另一方面,如果一行裏寫多個語句那麼分號是需要的。例如
val s = “菜鳥教程”; println(s)
Scala 包
定義包
Scala 使用 package 關鍵字定義包,在Scala將代碼定義到某個包中有兩種方式:
第一種方法和 Java 一樣,在文件的頭定義包名,這種方法就後續所有代碼都放在該包中。 比如:
package com.runoob
class HelloWorld
第二種方法有些類似 C#,如:
package com.runoob {
class HelloWorld
}
第二種方法,可以在一個文件中定義多個包。
引用
Scala 使用 import 關鍵字引用包。
import java.awt.Color // 引入Color
import java.awt._ // 引入包內所有成員
def handler(evt: event.ActionEvent) { // java.awt.event.ActionEvent
… // 因爲引入了java.awt,所以可以省去前面的部分
}
import語句可以出現在任何地方,而不是只能在文件頂部。import的效果從開始延伸到語句塊的結束。這可以大幅減少名稱衝突的可能性。
如果想要引入包中的幾個成員,可以使用selector(選取器)
import java.awt.{Color, Font}
// 重命名成員
import java.util.{HashMap => JavaHashMap}
// 隱藏成員
import java.util.{HashMap => , } // 引入了util包的所有成員,但是HashMap被隱藏了
注意:默認情況下,Scala 總會引入 java.lang.
、 scala.
和 Predef._,這裏也能解釋,爲什麼以scala開頭的包,在使用時都是省去scala.的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章