數據類型
Scala官網:https://docs.scala-lang.org/zh-cn/tour/unified-types.html

Any是所有類型的超類型,也稱為頂級類 型。它定義了一些通用的方法如equals、hashCode和toString。Any有兩個直接子類:AnyVal和AnyRef。
AnyVal代表值類型。有9個預定義的非空的值類型分別是:Double、Float、Long、Int、Short、Byte、Char、Unit和Boolean。Unit是不帶任何意義的值類型,它僅有一個實例可以像這樣聲明:()。所有的函數必須有返回,所以說有時候Unit也是有用的返回類型。
AnyRef代表引用類型。所有非值類型都被定義為引用類型。在Scala中,每個用戶自定義的類型都是AnyRef的子類型。如果Scala被應用在Java的運行環境中,AnyRef相當於java.lang.Object。
Nothing是所有類型的子類型,也稱為底部類型。沒有一個值是Nothing類型的。它的用途之一是給出非正常終止的信號,如拋出異常、程序退出或者一個無限循環(可以理解為它是一個不對值進行定義的表達式的類型,或者是一個不能正常返回的方法)。
Null是所有引用類型的子類型(即AnyRef的任意子類型)。它有一個單例值由關鍵字null所定義。Null主要是使得Scala滿足和其他JVM語言的互操作性,但是幾乎不應該在Scala代碼中使用。我們將在后面的章節中介紹null的替代方案。
類型轉換

精度轉換
float:
float 數據類型是單精度、32位、符合IEEE 754標准的浮點數;
float 在儲存大型浮點數組的時候可節省內存空間;
默認值是 0.0f;
浮點數不能用來表示精確的值,如貨幣;
例子:float f1 = 234.5f。
double:
double 數據類型是雙精度、64 位、符合IEEE 754標准的浮點數;
浮點數的默認類型為double類型;
double類型同樣不能表示精確的值,如貨幣;
默認值是 0.0d;
例子:double d1 = 123.4。
