Scala系统学习(四):Scala数据类型

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后缀。这里有一些整数文字 -

0
035
21
0xFFFFFFFF
0777L

浮点文字

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

0.0
1e30f
3.14159f
1.0e100
.1

布尔文字

布尔文字: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

原文地址:https://www.cnblogs.com/itboys/p/9306487.html

时间: 2024-08-23 07:48:01

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

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

变量是保存存储值的内存位置的名称.这意味着当创建变量时,可以在内存中保留一些空间. 根据变量的数据类型,编译器分配内存并决定可以存储在预留内存中的内容.因此,通过为变量分配不同的数据类型,可以在这些变量中存储整数,小数或字符. 变量声明 Scala具有用于声明变量的不同语法.它们可以被定义为值,即常数或变量. 这里,myVar使用关键字var声明. 它是一个可以改变值的变量,这称为可变变量. 以下是使用var关键字定义变量的语法 - 语法 var myVar : String = "Foo&qu

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

如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合.现在我们简单地看一下类,对象,方法和实例变量的含义. 对象 - 对象有状态和行为.一个对象是类的一个实例.例如 - 狗有状态:颜色,名称,品种,它行为有:摇摆,吠叫和吃东西. 类 - 可以将类定义为描述与该类相关的行为/状态的模板/蓝图. 方法 - 一个方法基本上是一种行为.一个

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

Scala可以安装在任何基于UNIX/Linux或基于Windows的系统上.在您的机器上开始安装Scala之前,必须在计算机上安装Java 1.8或更高版本. 下面请按照以下步骤安装Scala. 步骤1:安装Java 首先,您需要在系统上安装Java软件开发工具包(SDK).要验证是否已经安装了Java,请根据您正在使用的操作系统平台,执行以下两个命令 - 对于Linux/Unix系统 - $java –version 对于Windows系统(打开命令提示符) - C:\Users\Admin

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

Scala是可扩展语言的缩写,是一种混合功能编程语言. 它由Martin Odersky创建. Scala顺利整合面向对象和函数式语言的功能. Scala被编译后在Java虚拟机上运行. 许多现有公司依靠Java进行关键业务应用转向或正在转向Scala,以提高其开发生产力,应用程序可扩展性和整体可靠性. 在这里,我们提出了一些要点,说明为什么Scala成为应用程序开发人员的首选. Scala是面向对象语言Scala是一种纯粹的面向对象语言,每一个值都是一个对象. 对象的类型和行为由类和特征描述,

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

一.数据类型 字符串 整数 浮点数 [补充中...] 1.字符串 str 字符串:英文string,简写str. name = '小石头:' print(name,'2019', '12', '24') # 小石头: 2019 12 24 print("平安夜,祝你一生平安.Merry Christmas!") # 平安夜,祝你一生平安.Merry Christmas! 以上,包裹在单引号和双引号里边的内容,如'小石头'.'2019'这些就是字符串. 换言之,但凡包裹在英文格式下的 单

Redis系统学习 四、超越数据结构

5种数据结构组成了Redis的基础,其他没有关联特定数据结构的命令也有很多.我们已经看过一些这样的命令:info,select,flushdb,multi,exec,discard,watch,和keys.这一章将看看其他的一些重要命令. 使用期限(Expiration) Redis允许你标记一个关键字的使用期限.你可以给与一个Unix时间戳形式(1970 01 01 起)的绝对时间,或者一个基于秒的存活时间.这是一个基于关键字的命令,因此其不在乎关键字表示的是哪种类型的数据结构. expire

Scala学习(一)--Scala基础学习

Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学到作为初学者如何浏览Scaladoc文档 1. 使用Scala解释器 2. 用var和val定义变量 3. 数值类型 4. 使用操作符和函数 5. 浏览Scaladoc Scala解释器 启动Scala解释器的步骤如下: 安装Scala 确保scala/bin目录位于系统PATH中 在你的操作系统中

Spark学习之scala编程

一.Scala语言基础 1.Scala语言简介 Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性.Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序. 学习Scala编程语言,为后续学习Spark奠定基础. 2.为什么要学Scala l 优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验. l 速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快:Scala是静态编译

Scala语法学习手册

1       快速入门... 2 1.1             分号... 2 1.2             常变量声明... 2 1.2.1         val常量... 2 1.2.2         var变量... 2 1.2.3         类型推导... 3 1.2.4         函数编程风格... 3 1.3             Range. 3 1.4             定义函数... 4 1.5             while.if 4 1.6