scala中有兩種變數型別:可變變數和不可變變數。可變變數指的是變數被賦值後,變數值可以隨著程式的執行而改變,可變變數用關鍵字 var 定義,不可變變數用關鍵字 val 定義。
val hellostring = "hello word" //scala 會自動進行型別判斷
hellostring = "hello" //錯誤,不能被重新賦值
//var 可變變數
var hellostring = "hello cruel word"
//重新賦值
hellostring = "goodbye cruel word"
另外,變數定義的初始化還可以用佔位符 '_' 進行初始化,字元型別的初始化成null,數字型別的初始化為0
var s2:string = _ //s2:string = null
var il:int = _ //il:int = 0
var f1:float = _ //f1:float = 0.0
var c1:char = _ //c1:char = ?
lazy 修飾符可以被用來修飾 val 變數,經過 lazy 關鍵字修飾的變數只有在真正使用時才會被賦值
lazy val v1 = "test" // v1:string =
基本資料型別
byte 位元組型別 8位有符號的整數
short短整型 16位有符號的整數
int 整型 32位有符號的整數
long長整型 64位有符號的整數
char字元型 16位無符號字元
string字串型 連續字串
float浮點型 32位浮點數
double 64位雙精度浮點數
boolean 布林型
如果直接輸入浮點數,scala會預設解釋成double型別,需要在浮點數後加f才能定義float型別的變數。
val floatnumber = 3.141529f //floatnumber:float = 3.141529
char型別表示的是字元型別,用單引號將字元包裹起來。
var charliteral = 'a'
var x = '\"' //部分特殊字元如雙引號,換行符及反斜槓等的定義需要加轉義字元 \ 或者用unicode 編碼
var x = '\u0022' //x:char = "
string型別表示的是字串型別,用""包裹,或者用3個雙引號 """ *** """ 包裹
val helloword = "hello word"
var helloword = """hello word"""
基本操作符
算術操作 加(+)、減(-)、乘(*)、除(/)、取模(%)
關係運算操作 大於(>)、小於(<)、小於等於(<=)、大於等於(>=)
邏輯運算操作 與(&&)、或(||)、非(!)
物件比較 等於(==)或 x.equals(y) 等價 x == y
字串運算操作
var str = "hello" // str:string = hello
str.indexof("o") // 4 查詢對應位置
str.touppercase //這個不用解釋了 str.tolowercase
str.reverse //反轉 olleh
str.drop 3 //丟棄前3個字元 lo
str slice<1,4> //相當於python str[1:4] res = ell
元組型別
元組可以將不同的值放在乙個變數中儲存
("hello","china","beijing") // (string,string,string) = (hello,china,beijing)
var tuple = ("hello","china",1) //不同的變數型別
//要訪問元組的內容,可以通過 變數名._n 的方式進行,n表示元組中元素的索引號
tuple._1 // hello 注意索引是從 1 開始,而不是 0
//在使用時還可以將元組的內容進行提取,對變數進行初始化
val (first,second,third) = tuple
first:string = hello
second:string = china
third:int = 1
Scala開發入門教程
scala開發教程 1 開始神奇的scala程式設計之旅 scala開發教程 2 起步scala scala開發教程 3 進一步scala scala開發教程 4 類和物件 一 scala開發教程 5 類和物件 二 scala開發教程 6 基本資料型別 scala開發教程 7 操作基本資料型別 sc...
Scala開發入門教程
scala開發教程 1 開始神奇的scala程式設計之旅 scala開發教程 2 起步scala scala開發教程 3 進一步scala scala開發教程 4 類和物件 一 scala開發教程 5 類和物件 二 scala開發教程 6 基本資料型別 scala開發教程 7 操作基本資料型別 sc...
Scala開發入門教程
scala開發教程 1 開始神奇的scala程式設計之旅 scala開發教程 2 起步scala scala開發教程 3 進一步scala scala開發教程 4 類和物件 一 scala開發教程 5 類和物件 二 scala開發教程 6 基本資料型別 scala開發教程 7 操作基本資料型別 sc...