scala 開發入門(1) 變數及基本資料型別

2021-08-16 04:46:23 字數 2653 閱讀 8338

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...