Scala與Java具有相同的數據類型,具有相同的記憶體佔用和精度。以下是提供Scala中可用的所有數據類型的詳細資訊的表格:
序號 | 數據類型 | 說明 |
---|---|---|
1 | Byte | 8 位有符號值,範圍從-128 至127 |
2 | Short | 16 位有符號值,範圍從-32768 至32767 |
3 | Int | 32 位有符號值,範圍從-2147483648 至2147483647 |
4 | Long | 64 位有符號值,範圍從-9223372036854775808 至9223372036854775807 |
5 | Float | 32 位IEEE 754單精確度浮點值 |
6 | Double | 64 位IEEE 754雙精度浮點值 |
7 | Char | 16 位無符號Unicode 字元。範圍從U+0000 到U+FFFF |
8 | String | 一個Char 類型序列 |
9 | Boolean | 文字值true 或文字值false |
10 | Unit | 對應於無值 |
11 | Null | null 或空引用 |
12 | Nothing | 每種其他類型的亞型; 不包括無值 |
13 | Any | 任何類型的超類型; 任何對象的類型為Any |
14 | AnyRef | 任何引用類型的超類型 |
上面列出的所有數據類型都是對象。Scala中沒有類似Java中那樣的原始類型。 這意味著您可以調用Int
,Long
等方法。
Scala基本文字
Scala用於文字的規則是簡單直觀的,本節介紹所有基本的Scala文字。
集成文字
整數文字通常為Int
類型,或Long
類型,後跟L
或l
尾碼。這裏有一些整數文字 -
0
035
21
0xFFFFFFFF
0777L
浮點文字
浮點文字的類型為Float
,後跟浮點類型尾碼F
或f
,否則為Double
類型。 這裏有一些浮點文字 -
0.0
1e30f
3.14159f
1.0e100
.1
布爾文字
布爾文字:true
和false
是Boolean
類型的成員。
符號文字
符號文字'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為0
到255
之間的字元也可以用八進制轉義來表示,即反斜杠“\”
後面是一個最多三個八進制字元的序列。以下是顯示幾個轉義序列字元的示例 -
示例
object Test {
def main(args: Array[String]) {
println("Hello\tWorld\n\n" );
}
}
當上述代碼被編譯和執行時,它產生以下結果 -
Hello World