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
Shell

浮点文字

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

0.0
1e30f
3.14159f
1.0e100
.1
Shell

布尔文字

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

符号文字

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

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

字符文字

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

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

字符串文字

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

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

多行字符串

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

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

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

Null值

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

转义序列

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

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

示例

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

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

Hello   World

Spark记录-Scala数据类型的更多相关文章

  1. Spark记录-Scala函数与闭包

    函数声明 Scala函数声明具有以下形式 - def functionName ([list of parameters]) : [return type] Scala 如果不使用等号和方法体,则隐式 ...

  2. Spark记录-scala快速入门

    1.hello world程序 object HelloWorld { def main(args: Array[String]) { println("Hello,World!" ...

  3. Spark记录-Scala集合

    Scala列表 Scala列表与数组非常相似,列表的所有元素都具有相同的类型,但有两个重要的区别. 首先,列表是不可变的,列表的元素不能通过赋值来更改. 其次,列表表示一个链表,而数组是平的. 具有类 ...

  4. Spark记录-Scala程序例子(函数/List/match/option/泛型/隐式转换)

    object func { def main(args:Array[String]):Unit={ //函数赋值给变量时, 必须在函数后面加上空格和下划线. def sayHello(name: St ...

  5. Spark记录-Scala语句(运算符-if-for-while-try-模式匹配)

    Scala条件运算符 Scala条件运算符在下表中列出. 运算符 操作 描述 && 与 运算符左侧和右侧的值为true.仅当左侧为真时,右侧才被计算. || 或 左侧或右侧的至少一个值 ...

  6. Spark记录-Scala类和对象

    本章将介绍如何在Scala编程中使用类和对象.类是对象的蓝图(或叫模板).定义一个类后,可以使用关键字new来创建一个类的对象. 通过对象可以使用定义的类的所有功能. 下面的图通过一个包含成员变量(n ...

  7. Spark记录-Scala变量/访问修饰符/运算符

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

  8. Spark记录-Scala记录(基础程序例子)

    import scala.util.control._ object learnning { def main(args:Array[String]):Unit={ val n:Int=10 prin ...

  9. Spark记录-Scala shell命令

    1.scala shell命令 scala> :help All commands can be abbreviated, e.g., :he instead of :help. :edit & ...

随机推荐

  1. FileInputStream与FileOutputStream练习题 -------------------图片拷贝

    package com.outputstream; import java.io.File; import java.io.FileInputStream; import java.io.FileNo ...

  2. Android笔记-2-TextView的属性详解

    [Android 基础]TextView的属性详解 android:autoLink :设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web / ...

  3. mybatis连接数据库的几种方式

    1.可以通过配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...

  4. sqlserver实现树形结构递归查询(无限极分类)

    SQL Server 2005开始,我们可以直接通过CTE来支持递归查询,CTE即公用表表达式 百度百科 公用表表达式(CTE),是一个在查询中定义的临时命名结果集将在from子句中使用它.每个CTE ...

  5. win32.gui.api.con(前置,鼠标点击,发送数据的Dome)

    # -*- coding: UTF-8 -*- import win32gui, win32con import os import time import win32gui import win32 ...

  6. JS 字符串切割成数组

    var cheLin = "字*符*串" // console.log(cheLin) var array = cheLin.split("*");  arra ...

  7. 初入码田--ASP.NET MVC4 Web应用之创建一个空白的MVC应用程序

    初入码田--ASP.NET MVC4 Web应用开发之一  实现简单的登录 初入码田--ASP.NET MVC4 Web应用开发之二 实现简单的增删改查 2016-07-29 在此之前,需要一台电脑( ...

  8. JAVA里的布尔运算符-甲骨文面试题

    重要一点: (& ,|) ==>二进制布尔运算符,(&&,||)==>条件布尔运算符 二进制布尔运算符,两边都会执行,不管左边是否为真或假==>对于运算符两边 ...

  9. .net webapi创建接口

    最近使用webapi做了一个用户数据库接口,方便其它网站接入验证用户,实现中解决出现的一些问题,做了一些记录, 1.返回显示为json数据 2.允许其他网站访问,刚开始没有设,在本地机测试时可以访问, ...

  10. 【Java并发编程】之十一:线程间通信中notify通知的遗漏

    notify通知的遗漏很容易理解,即threadA还没开始wait的时候,threadB已经notify了,这样,threadB通知是没有任何响应的,当threadB退出synchronized代码块 ...