Spark记录-Scala数据类型
Scala与Java具有相同的数据类型,具有相同的内存占用和精度。以下是提供Scala中可用的所有数据类型的详细信息的表格:
| 序号 | 数据类型 | 说明 |
|---|---|---|
| 1 | Byte | 8位有符号值,范围从-128至127 |
| 2 | Short | 16位有符号值,范围从-32768至32767 |
| 3 | Int | 32位有符号值,范围从-2147483648至2147483647 |
| 4 | Long | 64位有符号值,范围从-9223372036854775808至9223372036854775807 |
| 5 | Float | 32位IEEE 754单精度浮点值 |
| 6 | Double | 64位IEEE 754双精度浮点值 |
| 7 | Char | 16位无符号Unicode字符。范围从U+0000到U+FFFF |
| 8 | String | 一个Char类型序列 |
| 9 | Boolean | 文字值true或文字值false |
| 10 | Unit | 对应于无值 |
| 11 | Null | null或空引用 |
| 12 | Nothing | 每种其他类型的亚型; 不包括无值 |
| 13 | Any | 任何类型的超类型; 任何对象的类型为Any |
| 14 | AnyRef | 任何引用类型的超类型 |
上面列出的所有数据类型都是对象。Scala中没有类似Java中那样的原始类型。 这意味着您可以调用Int,Long等方法。
Scala基本文字
Scala用于文字的规则是简单直观的,本节介绍所有基本的Scala文字。
集成文字
整数文字通常为Int类型,或Long类型,后跟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”)的缩写。符号是一个case类,其定义如下 -
ackage 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为0到255之间的字符也可以用八进制转义来表示,即反斜杠“\”后面是一个最多三个八进制字符的序列。以下是显示几个转义序列字符的示例 -
示例
object Test {
def main(args: Array[String]) {
println("Hello\tWorld\n\n" );
}
}
当上述代码被编译和执行时,它产生以下结果 -
Hello World
Spark记录-Scala数据类型的更多相关文章
- Spark记录-Scala函数与闭包
函数声明 Scala函数声明具有以下形式 - def functionName ([list of parameters]) : [return type] Scala 如果不使用等号和方法体,则隐式 ...
- Spark记录-scala快速入门
1.hello world程序 object HelloWorld { def main(args: Array[String]) { println("Hello,World!" ...
- Spark记录-Scala集合
Scala列表 Scala列表与数组非常相似,列表的所有元素都具有相同的类型,但有两个重要的区别. 首先,列表是不可变的,列表的元素不能通过赋值来更改. 其次,列表表示一个链表,而数组是平的. 具有类 ...
- Spark记录-Scala程序例子(函数/List/match/option/泛型/隐式转换)
object func { def main(args:Array[String]):Unit={ //函数赋值给变量时, 必须在函数后面加上空格和下划线. def sayHello(name: St ...
- Spark记录-Scala语句(运算符-if-for-while-try-模式匹配)
Scala条件运算符 Scala条件运算符在下表中列出. 运算符 操作 描述 && 与 运算符左侧和右侧的值为true.仅当左侧为真时,右侧才被计算. || 或 左侧或右侧的至少一个值 ...
- Spark记录-Scala类和对象
本章将介绍如何在Scala编程中使用类和对象.类是对象的蓝图(或叫模板).定义一个类后,可以使用关键字new来创建一个类的对象. 通过对象可以使用定义的类的所有功能. 下面的图通过一个包含成员变量(n ...
- Spark记录-Scala变量/访问修饰符/运算符
变量是保存存储值的内存位置的名称.这意味着当创建变量时,可以在内存中保留一些空间. 根据变量的数据类型,编译器分配内存并决定可以存储在预留内存中的内容.因此,通过为变量分配不同的数据类型,可以在这些变 ...
- Spark记录-Scala记录(基础程序例子)
import scala.util.control._ object learnning { def main(args:Array[String]):Unit={ val n:Int=10 prin ...
- Spark记录-Scala shell命令
1.scala shell命令 scala> :help All commands can be abbreviated, e.g., :he instead of :help. :edit & ...
随机推荐
- 配置树莓派/Linux默认声卡设备
1.设置默认声卡为USB声卡 在$HOME下新建.asoundrc $cd $HOME $nano .asoundrc 输入以下内容 defaults.ctl.card 1 defaults.pcm. ...
- HDU 1015 Jury Compromise 01背包
题目链接: http://poj.org/problem?id=1015 Jury Compromise Time Limit: 1000MSMemory Limit: 65536K 问题描述 In ...
- 关于javascript异步编程的理解
在开发手机app的时候,要使用ajax想向后台发送数据.然后遇到了一个bug,通过这个bug,理解了ajax异步请求的工作原理.下面是登录页面的源代码. <!DOCTYPE html> & ...
- 6/10 sprint2 看板和燃尽图的更新
- <构建之法>第一二三章感悟
第一章: 看了大概了解软件从一个想法到最终成品的一个过程.软件先是由一个想法引出的,有那个想法,你需要一个工具去做什么,根据自己想要的功能大概做一个能实现基本功能的软件,对客户提出的要求进行完善,实现 ...
- 使用IPMI操作Dell服务器
机房里有5台实验用的Dell R710服务器,为了低碳环保,我决定只在工作日白天开启它们,其余时间全部关闭.我选择在linux下用ipmitool结合计划任务来实现,这里只记录ipmitool工具的用 ...
- QVariant相当于一个包含大多数Qt数据类型的联合体(源码解读)
将数据存储为一个Private结构体类型的成员变量d: <qvariant.cpp> 1 QVariant::QVariant(Type type) 2 { create(type, 0) ...
- 解决Linux关闭SSH,终端后运行程序终止问题(包括后台)
问题描述: 每次SSH到服务器上,然后运行了一个自己写的服务端程序,比如 ./myserver.sh ,然后关闭ssh或者终端之后,发现服务不能访问. 简要分析下: 根据 这篇博文 的提示,ss ...
- 安装iproute2
yum install -y gcc bison flex #tar -xzf iproute2-3.17.0.tar.gz #cd iproute2-3.17.0#sed -i '/^TARGET ...
- git bash使用(markdown版)
前言 我是通过这个来学习的.个人愚笨,琢磨了半天,终于搞通了,醉了醉了,以前一直使用svn,用git确实有点水土不服.本文以如何使用git为主来展开,不涉及太多理论. git是分布式的版本管理.什么叫 ...