English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Scala hat die gleichen Datenarten wie Java. Nachstehend ist eine Tabelle mit den von Scala unterstützten Datenarten aufgeführt:
Datenart | 描述 |
---|---|
Byte | 8bitgezeichneter komplementäres Ganzzahl. Wertebereich -128 bis 127 |
Short | 16bitgezeichneter komplementäres Ganzzahl. Wertebereich -32768 bis 32767 |
Int | 32bitgezeichneter komplementäres Ganzzahl. Wertebereich -2147483648 bis 2147483647 |
Long | 64bitgezeichneter komplementäres Ganzzahl. Wertebereich -9223372036854775808 bis 9223372036854775807 |
Float | 32 bit, IEEE 754 Standard single-precision floating-point number |
Double | 64 bit IEEE 754 Standard double-precision floating-point number |
Char | 16bitunsignierte Unicode-Zeichen, Wertebereich U+0000 bis U+FFFF |
String | Zeichenfolge |
Boolean | wahr oder falsch |
Unit | Stellt einen Wert ohne Bedeutung dar, was in anderen Sprachen mit void gleichzusetzen ist. Wird als Rückgabetyp für Methoden verwendet, die kein Ergebnis liefern. Unit hat nur einen Instanzwert und wird in Klammern () geschrieben. |
Null | null oder Referenz auf einen leeren Wert |
Nichts | Der Typ Nothing ist am untersten Ende der Klassenhierarchie in Scala; es ist ein Subtyp jeder anderen Typ. |
Any | Any ist die Superklasse aller anderen Klassen |
AnyRef | Die Klasse AnyRef ist die Basisklasse aller Referenzklassen (reference class) in Scala |
Die in der obigen Tabelle aufgelisteten Datentypen sind Objekte, das bedeutet, Scala hat keine Java-ähnlichen primitiven Typen. In Scala kann man Methoden auf numerische Basistypen aufrufen.
Scala ist sehr einfach und intuitiv. Wir werden im Folgenden Scala-Literals im Detail erläutern.
Ganzzahl-Literal werden für den Typ Int verwendet, wenn sie Long darstellen sollen, können sie nach der Zahl L oder die kleine l als Suffix hinzufügen.:
0 035 21 0xFFFFFFFF 0777L
Wenn ein Fließkommazahl mit einem Suffix f oder F endet, dann ist es ein Float-Typ, andernfalls ein Double-Typ. Ein Beispiel ist:
0.0 1e30f 3.14159f 1.0e100 .1
Boolsche Literal haben true und false.
Symbol-Literals werden wie folgt notiert: '<Bezeichner> hier <Bezeichner> kann jeder Bezeichner sein, der aus jedem Buchstaben oder jeder Zahl besteht (Beachten Sie: Er kann nicht mit einer Zahl beginnen). Diese Literal werden in Instanzen der vorgegebenen Klasse scala.Symbol gemappt.
z.B.: Symbol-Literal 'x ist ein Ausdruck scala.Symbol("x") kurzgefasst, Symbol-Literals werden wie folgt definiert:
package scala final case class Symbol private (name: String) { override def toString: String = "'" + name }
In Scala werden einfache Anführungszeichen für Zeichen-Literals verwendet ' definiert, wie folgt:
'a' '\u0041' '\n' '\t'
darunter \ zeigt ein Escape-Zeichen an, das gefolgt werden kann von u0041 Zahl oder \r\n und anderen festen Escape-Zeichen.
In Scala werden doppelte Anführungszeichen für String-Literal verwendet " definiert, wie folgt:
"Hallo,\nWelt!" "Grundlagen教程Webseite: de.oldtoolbag.com"
Mehrzeilige Strings werden durch drei doppelte Anführungszeichen getrennt, Format ist:""" ... """.
Ein Beispiel ist wie folgt:
val foo = """Grundlagen教程" de.oldtoolbag.com de.oldtoolbag.com www.runnoob.com Die folgenden drei Adressen können auf """ zugegriffen werden
Leerwert ist der Typ scala.Null.
Scala.Null 和 scala.Nothing 是用统一的方式处理 Scala 面向对象类型系统的某些 "边界情况" 的特殊类型。
Null 类是 null 引用对象的类型,它是每个引用类(继承自 AnyRef 的类)的子类。Null 不兼容值类型。
下表列出了常见的转义字符:
转义字符 | Unicode | 描述 |
---|---|---|
\b | \u0008 | 退格(BS) ,将当前位置移到前一列 |
\t | \u0009 | 水平制表(HT) (跳到下一个TAB位置) |
\n | \u000a | 换行(LF) ,将当前位置移到下一行开头 |
\f | \u000c | 换页(FF),将当前位置移到下页开头 |
\r | \u000d | 回车(CR) ,将当前位置移到本行开头 |
\" | \u0022 | 代表一个双引号(")字符 |
\' | \u0027 | 代表一个单引号(')字符 |
\\ | \u005c | 代表一个反斜线字符 '\' |
0 到 255 之间的 Unicode 字符可以用一个八进制转义序列来表示,即反斜线"\"后跟 最多三个八进制。
在字符或字符串中,反斜线和后面的字符序列不能构成一个合法的转义序列将会导致 编译错误。
以下实例演示了一些转义字符的使用:
object Test { def main(args: Array[String]) { println("Hello\tWorld\n\n"); } }
运行后输出结果如下:
$ scalac Test.scala $ scala TestHello World