Scala資料型別


Scala與Java具有相同的資料型別,具有相同的記憶體占用和精度。以下是提供Scala中可用的所有資料型別的詳細資訊的表格:

序號 資料型別 說明
1 Byte 8位有符號值,範圍從-128127
2 Short 16位有符號值,範圍從-3276832767
3 Int 32位有符號值,範圍從-21474836482147483647
4 Long 64位有符號值,範圍從-92233720368547758089223372036854775807
5 Float 32位IEEE 754單精度浮點值
6 Double 64位IEEE 754雙精度浮點值
7 Char 16位無符號Unicode字元。範圍從U+0000U+FFFF
8 String 一個Char型別序列
9 Boolean 文字值true或文字值false
10 Unit 對應於無值
11 Null null或空參照
12 Nothing 每種其他型別的亞型; 不包括無值
13 Any 任何型別的超型別; 任何物件的型別為Any
14 AnyRef 任何參照型別的超型別

上面列出的所有資料型別都是物件。Scala中沒有類似Java中那樣的原始型別。 這意味著您可以呼叫IntLong等方法。

Scala基本文字

Scala用於文字的規則是簡單直觀的,本節介紹所有基本的Scala文字。

整合文字

整數文字通常為Int型別,或Long型別,後跟Ll字尾。這裡有一些整數文字 -

0
035
21 
0xFFFFFFFF 
0777L

浮點文字

浮點文字的型別為Float,後跟浮點型別字尾Ff,否則為Double型別。 這裡有一些浮點文字 -

0.0 
1e30f 
3.14159f 
1.0e100
.1

布林文字

布林文字:truefalseBoolean型別的成員。

符號文字

符號文字'x是表示式scala.Symbol(「x」)的縮寫。符號是一個case類,其定義如下 -

ackage scala
final case class Symbol private (name: String) {
   override def toString: String = "'" + name
}

字元文字

字元文字是用引號括起來的單個字元。字元是可列印的Unicode字元或由跳脫序列描述。 這裡有一些字元文字 -

'a' 
'\u0041'
'\n'
'\t'

字串文字

字串文字是雙引號中的一系列字元。字元是可列印的Unicode字元或由跳脫序列描述。 這裡有一些字串文字 -

"Hello,\nWorld!"
"This string contains a \" character."

多行字串

多行字串文字是用三個引號""" ... """括起來的一系列字元。字元序列是任意的,除了它最終可能包含三個或更多個連續的引號。

字元不一定是可列印的; 換行符或其他控制字元也是允許的。這是一個多行字串文字 -

"""the present string
spans three
lines."""

Null值

null值的型別為scala.Null,因此與每個參照型別相容。它表示參照一個特殊的「null」物件的參考值。

跳脫序列

以下跳脫序列在字元和字串文字中被識別。

Unicode為0255之間的字元也可以用八進位制跳脫來表示,即反斜槓「\」後面是一個最多三個八進位制字元的序列。以下是顯示幾個跳脫序列字元的範例 -

範例

object Test {
   def main(args: Array[String]) {
      println("Hello\tWorld\n\n" );
   }
}

當上述程式碼被編譯和執行時,它產生以下結果 -

Hello   World