Scala のデータ型


Scala には Java と同じデータ型があります。次の表に、Scala でサポートされるデータ型を示します。値の範囲は -128 ~ 127 です

Short16 ビットの符号付き 2 の補数整数。値の範囲は -32768 ~ 32767 ですInt 32 ビットの符号付き 2 の補数整数。値の範囲は -2147483648 ~ 2147483647 ですLong 64 ビットの符号付き 2 の補数整数。値の範囲は -9223372036854775808 ~ 9223372036854775807 ですFloatDoubleCharStringBooleanUnitNullNothingAnyAnyRef

上記の表にリストされているデータ型はすべてオブジェクトです。これは、scala には Java のネイティブ型がないことを意味します。 Scala では、数値などの基本的な型のメソッドを呼び出すことができます。


Scala の基本リテラル

Scala は非常にシンプルで直感的です。次に、Scala リテラルについて詳しく紹介します。

整数リテラル

整数リテラルは、Long 型を表す場合、数値の後に L または小文字の l を付加できます。 :

0
035
21 
0xFFFFFFFF 
0777L

浮動小数点リテラル

浮動小数点数の後に f または F 接尾辞がある場合は Float 型であることを意味し、それ以外の場合は Double 型であることを意味します。例は次のとおりです。

0.0 
1e30f 
3.14159f 
1.0e100
.1

ブール リテラル

ブール リテラルには true と false が含まれます。

シンボル リテラル

シンボル リテラルは、次のように記述されます: '<identifier>、ここで <identifier> には、任意のアルファベットまたは数字の識別子を指定できます (注: 数字で始めることはできません)。このリテラルは、事前定義クラス scala.Symbol のインスタンスにマップされます。

例: シンボルリテラル 'x は、式 scala.Symbol("x") の略称です。 シンボルリテラルは、次のように定義されます。

package scala
final case class Symbol private (name: String) {
   override def toString: String = "'" + name
}

ここで、

は転送文字を表し、その後に

u0041

数字や

rn

などの固定エスケープ文字を続けることができます。 文字列リテラル文字列表現には、次のように二重引用符 (") で囲まれた一連の文字が含まれます。

'a' 
'\u0041'
'\n'
'\t'
複数行文字列の表現

複数行文字列は 3 つの二重引用符で表されます。 区切り文字、形式

""" ... """

例は次のとおりです。

"Hello,\nWorld!"
"php中文网官网:www.php.cn"

Null 値 Null 値は scala.Null 型

Scala.Null と scala.Nothing は統一されています。 Scala のオブジェクト指向型システムの特定の「エッジ ケース」を処理します。

Null クラスは、すべての参照クラス (AnyRef から継承するクラス) のサブクラスである null 参照オブジェクトの型です。文字

次の表は、一般的なエスケープ文字のリストです:

エスケープ文字

Unicode

説明
32 ビット IEEE754 単精度浮動小数点数
64 ビット IEEE754 -精度浮動小数点数
16 -bit 符号なし Unicode 文字、間隔 値は U+0000 ~ U+FFFF
文字シーケンス
tru​​e または false
は値がないことを意味し、同等です他の言語では無効になります。結果を返さないメソッドの結果の型として使用されます。ユニットにはインスタンス値が 1 つだけあり、() として記述されます。
null または null 参照
Nothing 型は、Scala のクラス階層の最下位にあり、他の型のサブタイプです。
Anyは、他のすべてのクラスのスーパークラスです
AnyRefクラスは、Scalaのすべての参照クラスの基本クラスです
bu0008バックスペース(BS)、現在の位置を前の列に移動
tu0009水平タブ(HT) (次のTAB位置にジャンプ)
nu000c改行(LF)、現在位置を移動次の行の先頭に位置を移動
fu000c改ページ(FF)、現在位置を次のページの先頭に移動
ru000d改行入力(CR)、現在位置を移動先頭へこの行の
"u0022 は二重引用符 (") 文字を表します
'u0027 は単一引用符 (') 文字を表します
\ u005cを表しますバックスラッシュ文字''

0 から 255 までの Unicode 文字は、8 進数のエスケープ シーケンス、つまりバックスラッシュ の後に続く記号で表すことができます。 8 進数は 3 つまでです。

文字または文字列では、バックスラッシュとそれに続く文字シーケンスは正当なエスケープ シーケンスを形成できません。 コンパイルエラー。

次の例は、いくつかのエスケープ文字の使用を示しています:

val foo = """php中文网
www.php.cn
www.w3cschool.cc
www.runnoob.com
以上三个地址都能访问"""
実行例 »

上記のコードを実行すると、出力結果は次のようになります:

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