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