Scala数据类型
Scala的数据类型全部相同于Java中,具有相同的内存占用和精度。以下表是有关可在Scala中所有的数据类型的细节:
数据类型 | 描述 |
---|---|
Byte | 8位有符号值。范围从-128到127 |
Short | 16位有符号值。范围从-32768至32767 |
Int | 32 位有符号值。范围从 -2147483648 to 2147483647 |
Long | 64位有符号值。 从-9223372036854775808到9223372036854775807 |
Float | 32位IEEE754单精度浮点数 |
Double | 64位IEEE754双精度浮点数 |
Char | 16位无符号Unicode字符。范围由U+0000至U+FFFF |
String | 字符序列 |
Boolean | 无论是字面true或false字面 |
Unit | 对应于没有值 |
Null | 空或空引用 |
Nothing | 每一个其他类型的子类型; 包括无值 |
Any | Any类型的超类型;任何对象是任何类型 |
AnyRef | 任何引用类型的超类型 |
上面列出的所有的数据类型是对象。没有原始的类型,如Java中。这意味着可以调用int,long等上的方法
Scala基本字面值:
Scala中使用的文字规则是简单和直观的。这部分解释了所有Scala中的基本文字。
整数值
整数文字通常是int类型,或类型龙其次是L或l后缀的时候。下面是一些整数文字:
0 035 21 0xFFFFFFFF 0777L
浮点型
浮点文字是Float类型后跟一个浮点类型后缀F或f时,否则是Double类型。下面是一些浮点文字:
0.0 1e30f 3.14159f 1.0e100 .1
布尔类型
布尔字面值true和false是Boolean类型的成员。
符号字面值
符号常量'x是简写的表达scala.Symbol(“X”)。Symbol是一个类,它的定义如下。
package scala final case class Symbol private (name: String) { override def toString: String = "'" + name }
字符
字符文字是用引号括起来的单个字符。该字符是一个可打印的Unicode字符或转义序列描述。这里有一些字符文字:
'a' 'u0041' ' ' ' '
字符串常量
字符串常量是在双引号中的字符序列。字符或者是可打印Unicode字符或转义序列描述。下面是一些字符串:
"Hello, World!" "This string contains a " character."
多行字符串
多行字符串是包含在三重引号“”字符序列“...”“”。字符序列是任意的,不同之处在于它可以包含三个或更多个连续引号字符仅在未尾。
字符未必是可打印;新的一行或其他控制字符也是允许的。这里是一个多行字符串:
"""the present string spans three lines."""
NULL值
null是scala.Null类型一个值,因此这个引用类型兼容。它表示参考值是指一种特殊的“空”的对象。
转义序列:
以下转义序列在字符和字符串。
转义序列 | Unicode | 描述 |
---|---|---|
u0008 | 退格BS | |
u0009 | 水平制表符HT | |
u000c | 换页FF | |
f | u000c | 换页FF |
u000d | 回车CR | |
" | u0022 | 双引用 " |
' | u0027 | 单引用 . |
u005c | 反斜线 |
介于0和255字符使用Unicode也可以通过一个八进制转义,也就是说,一个反斜杠“”之后的最多三个八进制字符的序列表示。以下为例子来说明一些转义字符序列:
object Test { def main(args: Array[String]) { println("Hello World " ); } }
当上述代码被编译和执行时,它产生了以下结果:
Hello World
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:代码驿站 [http:/www.codeinn.net]
本文标题:Scala数据类型
本文地址:http://www.codeinn.net/scala/1196.html