Scala與Java具有相同的數(shù)據(jù)類型,具有相同的內(nèi)存占用和精度。以下是提供Scala中可用的所有數(shù)據(jù)類型的詳細(xì)信息的表格:
| 序號(hào) | 數(shù)據(jù)類型 | 說(shuō)明 |
|---|---|---|
| 1 | Byte | 8位有符號(hào)值,范圍從-128至127 |
| 2 | Short | 16位有符號(hào)值,范圍從-32768至32767 |
| 3 | Int | 32位有符號(hào)值,范圍從-2147483648至2147483647 |
| 4 | Long | 64位有符號(hào)值,范圍從-9223372036854775808至9223372036854775807 |
| 5 | Float | 32位IEEE 754單精度浮點(diǎn)值 |
| 6 | Double | 64位IEEE 754雙精度浮點(diǎn)值 |
| 7 | Char | 16位無(wú)符號(hào)Unicode字符。范圍從U+0000到U+FFFF |
| 8 | String | 一個(gè)Char類型序列 |
| 9 | Boolean | 文字值true或文字值false |
| 10 | Unit | 對(duì)應(yīng)于無(wú)值 |
| 11 | Null | null或空引用 |
| 12 | Nothing | 每種其他類型的亞型; 不包括無(wú)值 |
| 13 | Any | 任何類型的超類型; 任何對(duì)象的類型為Any |
| 14 | AnyRef | 任何引用類型的超類型 |
上面列出的所有數(shù)據(jù)類型都是對(duì)象。Scala中沒(méi)有類似Java中那樣的原始類型。 這意味著您可以調(diào)用Int,Long等方法。
Scala用于文字的規(guī)則是簡(jiǎn)單直觀的,本節(jié)介紹所有基本的Scala文字。
集成文字
整數(shù)文字通常為Int類型,或Long類型,后跟L或l后綴。這里有一些整數(shù)文字 -
0
035
21
0xFFFFFFFF
0777L
浮點(diǎn)文字
浮點(diǎn)文字的類型為Float,后跟浮點(diǎn)類型后綴F或f,否則為Double類型。 這里有一些浮點(diǎn)文字 -
0.0
1e30f
3.14159f
1.0e100
.1
布爾文字
布爾文字:true和false是Boolean類型的成員。
符號(hào)文字
符號(hào)文字'x是表達(dá)式scala.Symbol(“x”)的縮寫。符號(hào)是一個(gè)case類,其定義如下 -
ackage scala
final case class Symbol private (name: String) {
override def toString: String = "'" + name
}
字符文字
字符文字是用引號(hào)括起來(lái)的單個(gè)字符。字符是可打印的Unicode字符或由轉(zhuǎn)義序列描述。 這里有一些字符文字 -
'a'
'\u0041'
'\n'
'\t'
字符串文字
字符串文字是雙引號(hào)中的一系列字符。字符是可打印的Unicode字符或由轉(zhuǎn)義序列描述。 這里有一些字符串文字 -
"Hello,\nWorld!"
"This string contains a \" character."
多行字符串
多行字符串文字是用三個(gè)引號(hào)""" ... """括起來(lái)的一系列字符。字符序列是任意的,除了它最終可能包含三個(gè)或更多個(gè)連續(xù)的引號(hào)。
字符不一定是可打印的; 換行符或其他控制字符也是允許的。這是一個(gè)多行字符串文字 -
"""the present string
spans three
lines."""
Null值
null值的類型為scala.Null,因此與每個(gè)引用類型兼容。它表示引用一個(gè)特殊的“null”對(duì)象的參考值。
以下轉(zhuǎn)義序列在字符和字符串文字中被識(shí)別。
Unicode為0到255之間的字符也可以用八進(jìn)制轉(zhuǎn)義來(lái)表示,即反斜杠“\”后面是一個(gè)最多三個(gè)八進(jìn)制字符的序列。以下是顯示幾個(gè)轉(zhuǎn)義序列字符的示例 -
示例
object Test {
def main(args: Array[String]) {
println("Hello\tWorld\n\n" );
}
}
當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生以下結(jié)果 -
Hello World