Scala數據類型
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