• Scala 数据类型


    Scala 与 Java有着相同的数据类型,下表列出了 Scala 支持的数据类型:

    数据类型描述
    Byte8位有符号补码整数。数值区间为 -128 到 127
    Short16位有符号补码整数。数值区间为 -32768 到 32767
    Int32位有符号补码整数。数值区间为 -2147483648 到 2147483647
    Long64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807
    Float32 位, IEEE 754 标准的单精度浮点数
    Double64 位 IEEE 754 标准的双精度浮点数
    Char16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF
    String字符序列
    Booleantrue或false
    Unit表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。
    Nullnull 或空引用
    NothingNothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。
    AnyAny是所有其他类的超类
    AnyRefAnyRef类是Scala里所有引用类(reference class)的基类

    上表中列出的数据类型都是对象,也就是说scala没有java中的原生类型。在scala是可以对数字等基础类型调用方法的。

    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!"
    "菜鸟教程官网:www.runoob.com"

    多行字符串的表示方法

    多行字符串用三个双引号来表示分隔符,格式为:""" ... """。

    实例如下:

    val foo = """菜鸟教程
    www.runoob.com
    www.w3cschool.cc
    www.runnoob.com
    以上三个地址都能访问"""

    Null 值

    空值是 scala.Null 类型。

    Scala.Null和scala.Nothing是用统一的方式处理Scala面向对象类型系统的某些"边界情况"的特殊类型。

    Null类是null引用对象的类型,它是每个引用类(继承自AnyRef的类)的子类。Null不兼容值类型。

    Scala 转义字符

    下表列出了常见的转义字符:

    转义字符Unicode描述
    \b\u0008退格(BS) ,将当前位置移到前一列
    \t\u0009水平制表(HT) (跳到下一个TAB位置)
    \n\u000a换行(LF) ,将当前位置移到下一行开头
    \f\u000c换页(FF),将当前位置移到下页开头
    \r\u000d回车(CR) ,将当前位置移到本行开头
    \"\u0022代表一个双引号(")字符
    \'\u0027代表一个单引号(')字符
    \\\u005c代表一个反斜线字符 '\'

    0 到 255 间的 Unicode 字符可以用一个八进制转义序列来表示,即反斜线‟\‟后跟 最多三个八进制。

    在字符或字符串中,反斜线和后面的字符序列不能构成一个合法的转义序列将会导致 编译错误。

  • 相关阅读:
    分清楚各式各样的USB接口!一帖搞定
    电力社区电力故障,潜在风险如何避免?
    【JVM】类加载器
    【机器学习笔记】【数据预处理】
    【算法】蓝桥杯全攻略:从语言基础到数学算法,一站式解锁竞赛技巧
    下载和安装vscode教程和配置中文插件(超详细)
    兄弟DCP-7080激光打印机硒鼓清零方法
    java计算机毕业设计机票实时比价系统(附源码、数据库)
    Docker技术概论(3):Docker 中的基本概念
    南卡电容笔和wiwu哪款更值得入手?价格实惠且好用的电容笔对比
  • 原文地址:https://blog.csdn.net/samLi0620/article/details/127840908