Scala-data-types

提供:Dev Guides
移動先:案内検索

Scala-データ型

ScalaはJavaと同じデータ型を持ち、同じメモリフットプリントと精度を持っています。 以下は、Scalaで利用可能なすべてのデータ型に関する詳細を示す表です-

Sr.No Data Type & Description
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

Charsのシーケンス

9

Boolean

リテラルtrueまたはリテラルfalse

10

Unit

値なしに対応

11

Null

nullまたは空の参照

12

Nothing

他のすべてのタイプのサブタイプ。値が含まれていません

13

Any

任意のタイプのスーパータイプ。すべてのオブジェクトは_Any_タイプです

14

AnyRef

参照型のスーパータイプ

上記のデータ型はすべてオブジェクトです。 Javaのようなプリミティブ型はありません。 つまり、Int、Longなどでメソッドを呼び出すことができます。

Scala Basicリテラル

Scalaがリテラルに使用するルールはシンプルで直感的です。 このセクションでは、すべての基本的なScalaリテラルについて説明します。

積分リテラル

整数リテラルは通常、Int型、またはLまたはl接尾辞が続くLong型です。 ここにいくつかの整数リテラルがあります-

0
035
21
0xFFFFFFFF
0777L

浮動小数点リテラル

浮動小数点リテラルは、その後に浮動小数点型の接尾辞Fまたはfが続く場合はFloat型であり、そうでない場合はDouble型です。 ここにいくつかの浮動小数点リテラルがあります-

0.0
1e30f
3.14159f
1.0e100
.1

ブールリテラル

ブールリテラル true および false は、ブール型のメンバーです。

シンボルリテラル

シンボルリテラル 'xは、式* scala.Symbol( "x")*の省略形です。 Symbolは、次のように定義されるケースクラスです。

package 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."

複数行の文字列

複数行の文字列リテラルは、三重引用符 "" "で囲まれた一連の文字です…​ """. 文字のシーケンスは任意です。ただし、最後にのみ3つ以上の連続する引用文字が含まれる場合があります。

文字は必ずしも印刷可能である必要はありません。改行またはその他の制御文字も許可されます。 これは複数行の文字列リテラルです-

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

ヌル値

null値は scala.Null 型であるため、すべての参照型と互換性があります。 これは、特別な「ヌル」オブジェクトを参照する参照値を示します。

エスケープシーケンス

次のエスケープシーケンスは、文字および文字列リテラルで認識されます。

Escape Sequences Unicode Description
\b \u0008 backspace BS
\t \u0009 horizontal tab HT
\n \u000c formfeed FF
\f \u000c formfeed FF
\r \u000d carriage return CR
\" \u0022 double quote "
\' \u0027 single quote .
\\ \u005c backslash \

0から255までのUnicodeの文字は、8進数のエスケープ、つまり、バックスラッシュ「\」の後に最大3文字の8進数の文字列が続くことによっても表されます。 以下は、いくつかのエスケープシーケンス文字を表示する例です-

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

上記のコードをコンパイルして実行すると、次の結果が生成されます-

出力

Hello   World