1. 程式人生 > 其它 >實驗二Scala基本資料型別

實驗二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型?