Scala-data-types
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