English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Scala tiene los mismos tipos de datos que Java, a continuación se muestra la tabla de tipos de datos admitidos por Scala:
Tipo de datos | 描述 |
---|---|
Byte | 8entero con signo de complemento a dos, el rango numérico es -128 hasta 127 |
Short | 16entero con signo de complemento a dos, el rango numérico es -32768 hasta 32767 |
Int | 32entero con signo de complemento a dos, el rango numérico es -2147483648 hasta 2147483647 |
Long | 64entero con signo de complemento a dos, el rango numérico es -9223372036854775808 hasta 9223372036854775807 |
Float | 32 IEEE 754 número de coma flotante de precisión simple |
Double | 64 IEEE 754 número de coma flotante de doble precisión |
Char | 16carácter Unicode sin signo, el rango de valores es U+0000 a U+FFFF |
Cadena | secuencia de caracteres |
Booleano | verdadero o falso |
Unit | Representa un valor nulo, equivalente a void en otros lenguajes. Se utiliza como tipo de resultado de métodos que no devuelven nada. Unit tiene un único valor de instancia, escrito como (). |
Nulo | nulo o referencia vacía |
Nada | El tipo Nothing está en la parte más baja de la jerarquía de clases de Scala; es subtipo de cualquier otro tipo. |
Any | Any es la superclase de todos los demás tipos de clase |
AnyRef | AnyRef es la clase base de todas las clases de referencia (reference class) en Scala |
Todos los tipos de datos enumerados en la tabla anterior son objetos, lo que significa que Scala no tiene tipos nativos como en Java. En Scala, se pueden llamar métodos a tipos de datos básicos como números.
Scala es muy simple y directo. A continuación, describiremos en detalle las literales de Scala.
Las literales de tipo entero se utilizan para el tipo Int, si se representa Long, se puede agregar L o l en minúsculas al final del número.:
0 035 21 0xFFFFFFFF 0777L
Si el número de punto flotante tiene el sufijo f o F, representa un tipo Float, de lo contrario, es un tipo Double. Ejemplo:
0.0 1e30f 3.14159f 1.0e100 .1
Las literales de tipo booleano tienen true y false.
La literal de símbolo se escribe como: '<identificador> aquí <identificador> Puede ser cualquier identificador compuesto por letras o números (nota: no puede comenzar con un número). Este tipo de literal se mapea a la instancia de la clase predefinida scala.Symbol.
por ejemplo: literal de símbolo 'x es una expresión scala.Symbol("x") abreviatura, la literal de símbolo se define como:
package scala final case class Symbol private (name: String) { override def toString: String = "'" + name }
Se utiliza comillas simples en las variables de cadena de Scala ' Definido, como se muestra a continuación:
'a' '\u0041' '\n' '\t'
Entre ellos \ Representa un carácter de escape, que puede estar seguido de u0041 Número o \r\n y otros caracteres de escape fijos.
Se utiliza comillas dobles en las literales de cadena de Scala " Definido, como se muestra a continuación:
"¡Hola,\n¡Mundo!" "Sitio web de tutoriales básicos: es.oldtoolbag.com"
Las cadenas de múltiples líneas se representan con tres comillas dobles como separador, con el formato:""" ... """.
El ejemplo es el siguiente:
val foo = """Tutoriales básicos es.oldtoolbag.com es.oldtoolbag.com www.runnoob.com Las tres direcciones de arriba pueden acceder a ""
El valor nulo es del tipo 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