scala中的数据类型
一、Scala的数据类型

(1)、 scala中一切数据都是对象,都是Any的子类;
(2)、scala中数据类型分为两大类:数值类型(AnyVal,即any value,任意值)、引用类型(AnyRef,即any reference,任意引用);
(3)、scala数据类型仍然遵守低精度的值类型向高精度的值类型,自动转换(隐式转换);char类型自动转换为Int类型;
(4)、scala中StringOps是对JAVA中String的增强;
(5)、Unit:对应JAVA中的void,空值,表示方法没有返回值。Unit是一个数据类型,只有一个对象就是()。Void不是一个数据类型,只是一个关键字;
(6)、Null是一个类型,空引用,只有一个对象就是null,它是所有引用类型(AnyRef、Scala class、Scala Collections、java Class)的子类;
(7)、Nothing,是所有数据类型的子集,只有一个对象就是null,既不是空引用也不是空值;主要用在一个函数没有明确返回值时使用,因为这样我们可以把抛出的返回值,返回给任何的变量或者函数。
例如:抛异常时(兼容性)
1、整数类型

(1)、 整数默认类型为Int;小数默认类型为Double;
(2)、长整型数值定义:val a1 = 12334444L;
2、字符类型(Char)
char表示单个字符;单个字符(包括符号、数字、字母)的底层保存是用的ASCII码;
控制字符 :'\t'表示制表符;'\n'表示换行符;
转义字符 :'\\'表示\;'\"'表示";
3、布尔类型
也称为Boolean类型;Boolean类型数据只允许取值true和false;只占1个字节;
4、空类型

简单总结:空值Unit、空引用Null、异常返回Nothing
二、Scala数据类型转换
1、基本说明
(1)、 自动提升原则:有多种类型的数据混合计算时,系统首先自动将所有数据转换成精度大的那种数据类型,然后再进行计算;
(2)、强制类型转换:精度大的数值类型强制转换为精度小的数值类型;
(toInt()、toShort()、toChar()、toByte()、toLong()、toFloat()、toDouble()、toString());
例如: val num2: Long = 309
val num1: Byte = 11
val result = (num1 + num2).toInt //result结果为Long类型,强制转换为Int类型
注意:强制类型转换可能会导致数据精度的丢失或数据溢出。
(3)、(byte、short)和char之间不会相互自动转换;
(4)、byte、short、char他们三者可以计算,在计算时首先转换成int类型;

未完待续~~
scala中的数据类型的更多相关文章
- Scala 中的函数式编程基础(三)
主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. ...
- Scala进阶之路-Scala中的泛型介绍
Scala进阶之路-Scala中的泛型介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 通俗的讲,比如需要定义一个函数,函数的参数可以接受任意类型.我们不可能一一列举所有的参数类 ...
- scala中常用特殊符号
参考资料: scala中常用但其他语言不常见的符号含义 Scala学习六:Scala中的特殊字符 =>(匿名函数) 参考文档:scala => 用法 匿名函数 => 匿名函数,在Sp ...
- 第2节 Scala中面向对象编程:1、类的定义;2、类的构造器;3、object和伴生对象;4、apply和main方法
6. 类.对象.继承.特质 Scala的类与Java.C++的类比起来更简洁,学完之后你会更爱Scala!!! 6.1. 类 6.1.1. 类的定义 package cn.itcast ...
- Scala 基础(五):Scala变量 (二) 数据类型
1 scala数据类型介绍 Scala 与 Java有着相同的数据类型,在Scala中数据类型都是对象,也就是说scala没有java中的原生类型 Scala数据类型分为两大类 AnyVal(值类型) ...
- Scala中的函数高级使用
1.偏函数 1.基本介绍 在对符合某个条件,而不是所有情况进行逻辑操作时,使用偏函数是一个不错的选择 将包在大括号内的一组case语句封装为函数,我们称之为偏函数,它只对会作用于指定类型的参数或指定范 ...
- Scala中的流程控制
一.分支控制if-else //Scala中if-else语句中,代码块内最后一句代码就是返回值 def main(args: Array[String]): Unit = { var age:Int ...
- Scala变量和数据类型
一.注释及代码规范 Scala的注释和Java中完全相同:单行注释:// .多行注释:/* */ 以及文档注释:/** */: 使用tab操作,实现缩进,默认整体向右边移动,用shift+tab整 ...
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- Scala中apply的用法
Scala中的 apply 方法有着不同的含义, 对于函数来说该方法意味着调用function本身, 以下说明摘自Programming in Scala, 3rd Edition Every fun ...
随机推荐
- ChatGPT 爆火!真有那么神?设计师会失业吗?
人工智能来了,咱们是不是都要失业了呢? 一款AI产品,在科技市场和资本市场掀起了一阵风暴. 一切的源头,来自一个由美国人工智能公司OpenAI开发的一种大型语言模型ChatGPT.它采用了Transf ...
- QT4.8.6移植
sudo apt-get install libx11-dev libxext-dev libxtst-dev 配置: ./configure --prefix=/opt/qt4.8.6 -opens ...
- 主线程 子线程 调用 ThreadId BeginInvoke调用和Invoke调用
BeginInvoke是异步线程执行 class Program { static int TakeWhile() { int threadid = Thre ...
- 读后笔记 -- Python 全栈测试开发 Chapter8:接口测试
8.1 接口测试 1. 市场分布 UI(web.app)自动化:10% 接口自动化:20% 单元测试:70% -- 测开 2. 接口类型: 1)结构划分:模块间(系统间)的接口称为内部接口:系统与第三 ...
- OTP: gen_server的简单应用
1.确定回调模块名 2.编写接口函数 3.在回调模块里编写六个必需的回调函数 1.确定回调模块名 my_bank 2.编写接口方法 start() 打开银行 stop() 关闭银行 new_accou ...
- git 提交本地仓库到远程
提交本地仓库到远程指定仓库 假如已经在远程github创建了项目 在本地创建了和github同样工程并添加了代码,如eclipse创建出工程并写了代码.要把这些代码提交到github git bash ...
- 深入理解 epoll 原理
从网卡如何接收数据说起 CPU 如何知道接受了数据? 进程阻塞为什么不占用 CPU 资源? 工作队列 等待队列 唤醒进程 内核接收网络数据全过程 同时监视多个 socket 的方法 select 的监 ...
- java中post推送json格式字符串
最近项目中遇到post推送json格式字符串,之前写过推送json数据,调用失败,才发现是直接推送字符串,只不过字符串是json的格式. 在postman中调用如下: Java中代码如下: /** * ...
- centos5.7 x64,安装java17,提示 glibc 版本低
安装java17,网站下载tar版本. 解压后,配置/etc/profile 的java_home,和path, 运行java -version 和 javac -version 提升缺少GLIB ...
- kill 多个进程的脚本
杀死多个进程的脚本 #!/bin/bash pids=$(ps -ef | grep warehouse |awk '{print $2}') for pid in $pids do echo $pi ...