Scala系统学习(四):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
后缀。这里有一些整数文字 -
0xFFFFFFFF
0777L
浮点文字
浮点文字的类型为Float
,后跟浮点类型后缀F
或f
,否则为Double
类型。 这里有一些浮点文字 -
0.0
1e30f
3.14159f
1.0e100
.
布尔文字
布尔文字:true
和false
是Boolean
类型的成员。
符号文字
符号文字'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为0
到255
之间的字符也可以用八进制转义来表示,即反斜杠“\”
后面是一个最多三个八进制字符的序列。以下是显示几个转义序列字符的示例 -
示例
object Test {
def main(args: Array[String]) {
println("Hello\tWorld\n\n" );
}
}
当上述代码被编译和执行时,它产生以下结果 -
Hello World
最新文章
- bootstrap之google fonts
- Google Developing for Android 一 - 相关上下文介绍
- js中if的另类实现
- [转]A Guide To using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications.
- Types of compression algorithms
- Android之BroadcastReceiver1
- powershel连接数据库监控数据库状态并发报警邮件
- Solr的安装
- Ext JS学习第十四天 Ext基础之 Ext.DomHelper
- NanUI文档 - 打包并使用内嵌式的HTML/CSS/JS资源
- 芝麻HTTP:Python爬虫实战之爬取百度贴吧帖子
- 做一个开源的小程序登录模块组件(token)
- CentOS 7 中使用NTP进行时间同步
- Linux_修改hosts
- python函数——形参中的:*args和**kwargs
- \n和\r区别
- oo作业总结(二)
- HO引擎近况20190110
- python 等比数列
- python之零碎知识
热门文章
- Java EE发展史
- 基于链表的C语言堆内存检测
- 【十大算法实现之KNN】KNN算法实例(含测试数据和源码)
- tar解压包的时候出现错误 gzip: stdin: not in gzip format
- Sencha Touch 扩展集合
- 关于servlet3.0中的异步servlet
- [Log]ASP.NET之HttpModule 事件执行顺序
- Ubuntu 16.04系统下安装Discuz出现“HTTP ERROR 500”目前无法处理此请求
- vue--简单数据绑定
- 地址转换函数:inet_aton &; inet_ntoa &; inet_addr和inet_pton &; inet_ntop