Scala与Java具有相同的数据类型,具有相同的内存占用和精度。以下是提供Scala中可用的所有数据类型的详细信息的表格:

序号 数据类型 说明
1 Byte 8位有符号值,范围从-128127
2 Short 16位有符号值,范围从-3276832767
3 Int 32位有符号值,范围从-21474836482147483647
4 Long 64位有符号值,范围从-92233720368547758089223372036854775807
5 Float 32位IEEE 754单精度浮点值
6 Double 64位IEEE 754双精度浮点值
7 Char 16位无符号Unicode字符。范围从U+0000U+FFFF
8 String 一个Char类型序列
9 Boolean 文字值true或文字值false
10 Unit 对应于无值
11 Null null或空引用
12 Nothing 每种其他类型的亚型; 不包括无值
13 Any 任何类型的超类型; 任何对象的类型为Any
14 AnyRef 任何引用类型的超类型

上面列出的所有数据类型都是对象。Scala中没有类似Java中那样的原始类型。 这意味着您可以调用IntLong等方法。

Scala基本文字

Scala用于文字的规则是简单直观的,本节介绍所有基本的Scala文字。

整数文字

整数文字通常为Int类型,或Long类型,后跟Ll后缀。这里有一些整数文字 -


0xFFFFFFFF
0777L

浮点文字

浮点文字的类型为Float,后跟浮点类型后缀Ff,否则为Double类型。 这里有一些浮点文字 -

0.0
1e30f
3.14159f
1.0e100
.

布尔文字

布尔文字:truefalseBoolean类型的成员。

符号文字

符号文字'x是表达式scala.Symbol(“x”)的缩写。符号是一个case类,其定义如下 -

package scala
final case class Symbol private (name: String) {
override def toString: String = "'" + name
}

字符文字

字符文字是用引号括起来的单个字符。字符是可打印的Unicode字符或由转义序列描述。 这里有一些字符文字 -

'a'
'\u0041'
'\n'
'\t'

字符串文字

字符串文字是双引号中的一系列字符。字符是可打印的Unicode字符或由转义序列描述。 这里有一些字符串文字 -

"Hello,\nWorld!"
"This string contains a \" character."

多行字符串

多行字符串文字是用三个引号""" ... """括起来的一系列字符。字符序列是任意的,除了它最终可能包含三个或更多个连续的引号。

字符不一定是可打印的; 换行符或其他控制字符也是允许的。这是一个多行字符串文字 -

"""the present string
spans three
lines."""

Null值

null值的类型为scala.Null,因此与每个引用类型兼容。它表示引用一个特殊的“null”对象的参考值。

转义序列

以下转义序列在字符和字符串文字中被识别。

Unicode为0255之间的字符也可以用八进制转义来表示,即反斜杠“\”后面是一个最多三个八进制字符的序列。以下是显示几个转义序列字符的示例 -

示例

object Test {
def main(args: Array[String]) {
println("Hello\tWorld\n\n" );
}
}

当上述代码被编译和执行时,它产生以下结果 -

Hello   World

Scala系统学习(四):Scala数据类型的更多相关文章

  1. Scala系统学习(四):Scala变量

    变量是保存存储值的内存位置的名称.这意味着当创建变量时,可以在内存中保留一些空间. 根据变量的数据类型,编译器分配内存并决定可以存储在预留内存中的内容.因此,通过为变量分配不同的数据类型,可以在这些变 ...

  2. Scala系统学习(三):Scala基础语法

    如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进 ...

  3. Scala系统学习(二):Scala开发环境安装配置

    Scala可以安装在任何基于UNIX/Linux或基于Windows的系统上.在您的机器上开始安装Scala之前,必须在计算机上安装Java 1.8或更高版本. 下面请按照以下步骤安装Scala. 步 ...

  4. Scala系统学习(一):Scala概述

    Scala是可扩展语言的缩写,是一种混合功能编程语言. 它由Martin Odersky创建. Scala顺利整合面向对象和函数式语言的功能. Scala被编译后在Java虚拟机上运行. 许多现有公司 ...

  5. Scala - 快速学习01 - Scala简介

    Scala简介 Scala(Scalable Language)是一门多范式(multi-paradigm)编程语言,Scala的设计吸收借鉴了许多种编程语言的思想,具备面向对象编程.函数式编程等特性 ...

  6. 【Python系统学习02】数据类型与类型转换

    一.数据类型 字符串 整数 浮点数 [补充中...] 1.字符串 str 字符串:英文string,简写str. name = '小石头:' print(name,'2019', '12', '24' ...

  7. Scala系统学习(五):Scala访问修辞符

    本章将介绍Scala访问修饰符.包,类或对象的成员可以使用私有(private)和受保护(protected)的访问修饰符进行标注,如果不使用这两个关键字的其中一个,那么访问将被视为公开(public ...

  8. Java I/O系统学习四:标准IO

    几乎所有学习Java的同学写的第一个程序都是hello world,使用的也都是System.out.println()这条语句来输出"hello world",我也不例外,当初学 ...

  9. Python学习(四) Python数据类型:序列(重要)

    插播一下,先了解一下Python的数据类型,Python现有的数据类型有好多,最重要的有列表.元组.字典 列表:我觉得可以对应java中的数组 list=['physics', 'chemistry' ...

随机推荐

  1. 获取对象属性值=NPOI EXPORT

    使用dll ==== NPOI.dll 获取属性,设置属性=参考:http://blog.csdn.net/cestarme/article/details/6548126 额外的: 导出的时候碰到一 ...

  2. vim重复操作的宏录制

    在编辑某个文件的时候,可能会出现需要对某种特定的操作进行许多次的情况,以编辑下面的文件为例: ;==================================================== ...

  3. html2canvas - 微信中长按存图 - 将h5活动结果保存到本地

    现在有很多在微信里流行的h5活动页.这些小h5大部分都是简单的交互然后得出一个abcd早就拟定好的结果,根据你的选项分几种情况,最终得到其中一个作为你测试的答案.比如这个就是最后那张结果图: 当时自己 ...

  4. ActiveMQ 消息持久化到数据库(Mysql、SQL Server、Oracle、DB2等)

    ActiveMQ具体就不介绍了,直接介绍如何讲ActiveMQ持久化到本地数据库,以SQL Server 2008 R2为例1.下载ActiveMQ后直接解压,我下载的是apache-activemq ...

  5. yum安装pip,pip安装compose

    #centos7 yum -y install epel-release yum -y install python-pip pip install --upgrade pip pip install ...

  6. 23种设计模式之解释器模式(Interpreter)

    解释器模式属于类的行为型模式,描述了如何为语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子,这里的“语言”是使用规定格式和语法的代码.解释器模式主要用在编译器中,在应用系统开发中很少 ...

  7. PCB器件重叠报错

    这几天画一个板子,,有一层器件是可以重叠的, 但是怎么修改规则也没有效果, 尝试把那个检测规则给删除,但是根本删除不掉! 后来发现 直接在规则的 这个选项直接把勾选去掉就可以了!

  8. 【BZOJ2331】[SCOI2011]地板 插头DP

    [BZOJ2331][SCOI2011]地板 Description lxhgww的小名叫“小L”,这是因为他总是很喜欢L型的东西.小L家的客厅是一个的矩形,现在他想用L型的地板来铺满整个客厅,客厅里 ...

  9. 7.19python昨日复习和多线程(2)

    2018-7-19 21:39:49 我觉得这次的笔记是非常非常完美的!!!明天继续 睡觉去啦! 傍黑时候和晴宝打电话,她特能说,很喜欢这种感觉,有好多东西要和你分享! 1.复习! # !/usr/b ...

  10. 重写jquery serialize 方法

    /**取表单中的对象 *attrName:为元素的的属性名称不设置则默认为name */ $.fn.serialize = function (attrName) { var ret = {}; if ...