English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Scala partage les mêmes types de données que Java. Le tableau suivant liste les types de données pris en charge par Scala :
type de données | 描述 |
---|---|
Byte | 8entier codé sur b bits avec complément à deux. L'intervalle de valeurs est -128 à 127 |
Short | 16entier codé sur b bits avec complément à deux. L'intervalle de valeurs est -32768 à 32767 |
Int | 32entier codé sur b bits avec complément à deux. L'intervalle de valeurs est -2147483648 à 2147483647 |
Long | 64entier codé sur b bits avec complément à deux. L'intervalle de valeurs est -9223372036854775808 à 9223372036854775807 |
Float | 32 b bits, IEEE 754 nombre flottant simple de précision standard |
Double | 64 b bits IEEE 754 nombre flottant double de précision standard |
Char | 16caractère Unicode sans signe sur 16 bits, intervalle de valeur U+0000 à U+FFFF |
String | séquence de caractères |
Boolean | true ou false |
Unit | représente une valeur absente, équivalent à void dans d'autres langages. Utilisé comme type de retour pour les méthodes ne renvoyant aucun résultat. Unit a une seule valeur d'instance, écrite en (). |
Null | null ou référence vide |
Rien | Le type Nothing est au bas de la hiérarchie des classes Scala ; c'est un sous-type de toute autre classe. |
Any | Any est le superclasse de toutes les autres classes |
AnyRef | AnyRef est la classe de base de toutes les classes de référence (reference class) dans Scala |
Les types de données énumérés dans le tableau précédent sont des objets, c'est-à-dire que Scala n'a pas de types natifs comme Java. Dans Scala, il est possible d'appeler des méthodes sur les types de base tels que les nombres.
Scala est très simple et intuitif. Nous allons détailler la littéralisation Scala à suivre.
Le littéral de type entier est utilisé pour le type Int, si il s'agit d'un Long, vous pouvez ajouter L ou l en suffixe au nombre. :
0 035 21 0xFFFFFFFF 0777L
Si un nombre flottant est suivi de f ou F en suffixe, cela signifie qu'il s'agit d'un type Float, sinon c'est un type Double. Voici un exemple :
0.0 1e30f 3.14159f 1.0e100 .1
Les littéraux booléens ont true et false.
Le littéral de symbole est écrit : '<Identifiant> ici <Identifiant> peut être tout identificateur composé de lettres ou de chiffres (attention : ne peut pas commencer par un chiffre). Ce littéral est mappé sur l'instance de la classe prédéfinie scala.Symbol.
Par exemple : Littéral de symbole 'x est une expression scala.Symbol("x") abréviation, la définition du littéral de symbole est la suivante :
package scala final case class Symbol private (name: String) { override def toString: String = "'" + name }
Les variables littérales Scala utilisent des guillemets simples ' Défini comme suit :
'a' '\u0041' '\n' '\t'
Parmi eux \ représente un caractère d'échappement, suivi de u0041 Un nombre ou \r\n et des caractères d'échappement fixes tels que \r\n.
Les chaînes littérales Scala utilisent des guillemets doubles " Défini comme suit :
"Hello,\nWorld!" "Site officiel de l'introduction de base : fr.oldtoolbag.com"
Les chaînes de caractères multiples sont représentées par des guillemets doubles, avec le format suivant :""" ... """.
Voici un exemple :
val foo = """Introduction de base" fr.oldtoolbag.com fr.oldtoolbag.com www.runnoob.com Les trois adresses ci-dessus peuvent accéder à ""
La valeur nulle est de type 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