實驗二Scala基本資料型別
實驗二 Scala基本資料型別
*一、實驗目的*
1、掌握Scala的常量與變數的定義方法。
2、瞭解Scala的基本資料型別。
3、掌握對Scala的資料型別的定義與使用。
*二、實驗內容*
該練習通過對Scala語言的常量以及變數的介紹,結合Scala的基本資料型別的介紹,學習並且掌握Scala的常量與變數的定義方法。結合實際操作,完成對資料的定義。
*三、實驗要求*
1、JDK1.8環境
2、Scala-2.12.4(Scala-2.11.12)
3、本實驗基於Linux,可根據自身情況選擇平臺進行實驗。
4、根據實驗手冊的內容,按步驟完成練習。
*四、準備知識*
變數是一種使用方便的佔位符,用於應用計算機記憶體地址,變數建立後會佔用一定的記憶體空間。在Scala中,使用關鍵詞“var”來宣告變數,使用“val”宣告常量。
Scala的資料型別和Java一致,下表展示了Scala所支援的所有資料型別。
*資料型別* | *描述* |
---|---|
Byte | 8位有符號補碼整數。數值區間為 -128 到 127 |
Short | 16位有符號補碼整數。數值區間為 -32768 到 32767 |
Int | 32位有符號補碼整數。數值區間為 -2147483648 到 2147483647 |
Long | 64位有符號補碼整數。數值區間為 -9223372036854775808 到 9223372036854775807 |
Float | 32位IEEE754單精度浮點數 |
Double | 64位IEEE754單精度浮點數 |
Char | 16位無符號Unicode字元, 區間值為 U+0000 到 U+FFFF |
String | 字元序列 |
Boolean | true或false |
Unit | 表示無值,和其他語言中void等同。用作不返回任何結果的方法的結果型別。Unit只有一個例項值,寫成()。 |
Null | null 或空引用 |
Nothing | Nothing型別在Scala的類層級的最低端;它是任何其他型別的子型別。 |
Any | Any是所有其他類的超類 |
AnyRef | AnyRef類是Scala裡所有引用類(reference class)的基類 |
Scala中常見的轉義字元。
*轉義字元* | *Unicode* | *描述* |
---|---|---|
\b | \u0008 | 退格(BS) ,將當前位置移到前一列 |
\t | \u0009 | 水平製表(HT) (跳到下一個TAB位置) |
\n | \u000a | 換行(LF) ,將當前位置移到下一行開頭 |
\f | \u000c | 換頁(FF),將當前位置移到下頁開頭 |
\r | \u000d | 回車(CR) ,將當前位置移到本行開頭 |
" | \u0022 | 代表一個雙引號(")字元 |
' | \u0027 | 代表一個單引號(')字元 |
\ | \u005c | 代表一個反斜線字元 '' |
*五、實驗步驟*
1、變數的宣告
變數的宣告如下。變數的型別在變數名之後等號之前宣告。其格式如下:
var VariableName : DataType [= Initial Value] 或
val VariableName : DataType [= Initial Value]
在變數宣告之後我們可以對其進行修改。
常量的宣告如下,但是我們無法對常量進行修改。
在Scala中,宣告變數和常量不一定要指明資料型別,在沒有指明資料型別的情況之下,其資料型別是通過變數或者常量的初始值判斷出來的。
例如,var myVar=2021會被判斷為Int型;val myVal=″Hello″會被判斷為String型。
2****、轉義字元的使用
0 到 255 間的 Unicode 字元可以用一個八進位制轉義序列來表示,即反斜線‟\‟後跟 最多三個八進位制。在字元或字串中,反斜線和後面的字元序列不能構成一個合法的轉義序列時將會導致編譯錯誤。如下圖所示,展示了\t以及\n轉義字元的使用。
六、思考題
1.在Scala裡怎樣定義一個變數?與Java的變數定義有哪些區別?
在scala中,可以用val var關鍵字來定義一個變數,其中,當使用val定義一個變數時間,這個變數將不能被改變,如下:
在java中,定義一個變數必須指定變數型別,此後,變數的型別不能被改變,但是值可以被修改;
\2. val a=10,怎樣將a轉為Double型別以及String型別?
在scala中,如何將整型變數轉化為Double型和String型?