English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
ScalaはJavaと同じデータ型を持ち、Scalaがサポートするデータ型は以下の通りです:
データ型 | 説明 |
---|---|
Byte | 8ビット符号付き補码整数。数値範囲は -128 から 127 |
Short | 16ビット符号付き補码整数。数値範囲は -32768 から 32767 |
Int | 32ビット符号付き補码整数。数値範囲は -2147483648 から 2147483647 |
Long | 64ビット符号付き補码整数。数値範囲は -9223372036854775808 から 9223372036854775807 |
Float | 32 ビット、IEEE 754 標準の単精度浮動小数点数 |
Double | 64 ビットIEEE 754 標準の双精度浮動小数点数 |
Char | 16無符号Unicode文字、範囲値が U+0000 から U+FFFF |
String | 文字シーケンス |
Boolean | trueまたはfalse |
Unit | 無値を表す、他の言語のvoidに相当。何も返さないメソッドの結果のデータ型として使用されます。Unitは()で書かれる単一のインスタンス値を持っています。 |
Null | nullまたは空参照 |
何もありません | Nothing类型在Scalaのクラス階層の最も低い場所に位置しており、他のどんなタイプもサブタイプとしています。 |
Any | Any是所有其他类的超类 |
AnyRef | AnyRef类是Scala里所有引用类(reference class)的基类 |
上表中列出的数据类型都是对象,也就是说scala没有java中的原生类型。在scala是可以对数字等基础类型调用方法的。
Scala 非常简单且直观。接下来我们会详细介绍 Scala 字面量。
整型字面量用于 Int 类型,如果表示 Long,可以在数字后面添加 L 或者小写 l 作为后缀。
0 035 21 0xFFFFFFFF 0777L
如果浮点数后面有f或者F后缀时,表示这是一个Float类型,否则就是一个Double类型的。实例如下:
0.0 1e30f 3.14159f 1.0e100 .1
布尔型字面量有 true 和 false。
符号字面量被写成: '<标识符> ,这里 <标识符> 可以是任何字母或数字的标识(注意:不能以数字开头)。这种字面量被映射成预定义类scala.Symbol的实例。
如: 符号字面量 'x 是表达式 scala.Symbol("x") 的简写,符号字面量定义如下:
package scala final case class Symbol private (name: String) { override def toString: String = "'" + name }
在 Scala 字符变量使用单引号 ' 来定义,如下:
'a' '\u0041' '\n' '\t'
其中 \ 表示转义字符,其后可以跟 u0041 数字或者 \r\n 等固定的转义字符。
在 Scala 字符串字面量使用双引号 " 来定义,如下:
"Hello,\nWorld!" "基础教程官网:ja.oldtoolbag.com"
多行字符串用三个双引号来表示分隔符,格式为:""" ... """。
实例如下:
val foo = """基础教程 ja.oldtoolbag.com ja.oldtoolbag.com www.runnoob.com 以上三个地址都能访问"""
空值是 scala.Null 类型。
Scala.Nullとscala.Nothingは、Scalaの面向オブジェクト型システムの「境界状況」を統一した方法で処理する特別な型です。
Nullクラスはnullリファレンスオブジェクトの型で、AnyRefから派生するすべての参照クラスのサブクラスです。Nullは値型と互換性がありません。
以下の表に一般的なエスケープシーケンスを示します:
エスケープシーケンス | ユニコード | 説明 |
---|---|---|
\b | \u0008 | バックスペース(BS) 、現在の位置を前の列に移動します |
\t | \u0009 | 水平タブ(HT) 、次のTAB位置にジャンプします |
\n | \u000a | ラインフィード(LF) 、現在の位置を次の行の先頭に移動します |
\f | \u000c | フォームフィード(FF) 、現在の位置を次のページの先頭に移動します |
\r | \u000d | カーロッカー(CR) 、現在の位置を行の先頭に移動します |
\" | \u0022 | は、ダブルクォート(")文字を表します |
\' | \u0027 | は、シングルクォート(')文字を表します |
\\ | \u005c | は、アンダースコア文字「\」を表します |
0 から 255 の Unicode 文字は、アンダースコア「\」の後ろに続く 最大で3桁の8進数。
文字や文字列の中で、アンダースコアとその後の文字列が有効なエスケープシーケンスを構成できない場合、 コンパイルエラー。
以下の例では、エスケープシーケンスの使用方法を示します:
object Test { def main(args: Array[String]) { println("Hello\tWorld\n\n"); } }
実行後の結果は以下の通りです:
$ scalac Test.scala $ scala TestHello World