您好,登錄后才能下訂單哦!
這篇文章主要介紹“scala如何聲明變量”,在日常操作中,相信很多人在scala如何聲明變量問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”scala如何聲明變量”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
一、聲明變量 val 和 var
val:
不可變變量,一旦賦值就不可以改變
var:
可變變量,賦值之后也可以改變
scala> val s1 = 3
s1: Int = 3
scala> var s2 = 5
s2: Int = 5
我們先聲明s1,s2兩個變量,分別是val和var,現在嘗試修改它
scala> s1 =6
<console>:12: error: reassignment to val
s1 =6
scala> s2 = 10
s2: Int = 10
我們看到s1修改失敗,提示val不允許修改,但是s2修改成功
此外我們注意到,在s2: Int = 5
中,scala會自動給變量賦予類型Int,這是根據賦的值自動選擇的,我們可以在聲明變量的同時直接選擇這個變量的類型,如下:
scala> val s3:String = "100"
s3: String = 100
我們直接用冒號+類型的方式,指定這個變量類型為String即可
二、基本數據類型和加強類 Byte、Char、Short、Int、Long、Float、Double、Boolean 和 String
跟java一樣,scala也是8大基本數據類型,以及加強類String,含義基本一致,因為很基礎這里不再贅述,只不過scala的數據類型本質上都是類,scala會負責基本數據類型和包裝類的轉換,也正因它們都是類,我們使用這些類型的時候,可以調用大量的函數,十分方便,如下:
scala> val num = 1
num: Int = 1
scala> num.to(10)
res7: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
聲明Int類型變量num,調用其to()函數,快速創造集合
scala> "Hello".intersect("World")
res3: String = lo
String的intersect()函數取交集
類似這樣的函數還有很多,大家根據需求可以自行查閱
三、基本運算符 +、-、*、/、%、&、|、^、>>、<<
這些與java也基本一致,在這里我們要注意,scala不提供++運算,可以是s1 += 1
這樣的
一:可以直接鍵入scala代碼,而不指定變量存放存放這個值,默認scala會給你一個res作為返回名稱,如下:
scala> 1+1
res0: Int = 2
我們輸入了1+1,并沒有設定var或者val類型的變量,但是scala會自動給我們聲明一個res接收代碼返回值,后續的操作中我們也可以繼續使用這些變量,如下
scala> res0 * 2
res1: Int = 4
二:運算符本質上是數據類型的函數,比如1 + 1
可以寫作1.+(1)
,正文提到的num.to(10)
其實也可以簡化成num to 10
到此,關于“scala如何聲明變量”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。