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 ...
随机推荐
- 多数元素II
给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素. /** * @param {number[]} nums * @return {number[]} */ const ...
- win10彻底关闭系统更新 - 禁用 Windows Update Medic Service服务(1803和1809版本)
这几天有点苦恼呀,不,应该说是挺苦恼,我的新本儿到了几天之后,就开始推荐更新,可以我从心里就不想着更新,那么就要阻止它了,按照原来的办法,进行了双重阻止,这在之前是屡试不爽的,但是还是一直在提醒我 ...
- python 嵌套对象转为dict
as_dict(self, keys=None, exclude_keys=None): """ 将ORM对象序列化为字典 :param keys: :return: & ...
- [笔记]gdb调试中一个string变量太长,如何将该string变量完全输出在屏幕上?
来自 https://stackoverflow.com/questions/233328/how-do-i-print-the-full-value-of-a-long-string-in-gdb ...
- MYSQL表操作(中篇)--数据类型
1.数据类型 数值类型 1.整数类型 整数类型:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT 作用:存储年龄,等级,id,各种号码等 默认是有符号的 int[(m)][u ...
- vue3插槽变化
1.默认插槽还是跟以前一样 2.使用具名插槽时,子组件不变 以前的父组件掉用的时候 <template slot="example"> </template> ...
- 用python将Mybatis日志中的Preparing与Parameters转换为可执行SQL并且美化格式
一.源代码下载 https://gitee.com/rmtic/SqlLog 说明: 1.可以处理oracle中正则表达中的'?',解决参数'?'冲突问题 2.如果要处理mysql和处理oracle中 ...
- xd p3 搭建安全扩展
常见搭建平台脚本启用 常见平台java Python php jsp搭建要启用脚本 中间件(搭建平台):Apache IIS Tomcat Nginx 主机头值 即 域名 域名IP目录解析安全问题 域 ...
- 大规模并行处理器编程实战_原书第2版_pdf
链接:https://pan.baidu.com/s/1c8ez8dCTz5bUQchwhXAF7w 提取码:tc1f
- libmodbus 源码分析转
记录一下,这位大神分析的很到位,值得膜拜! < libmodbus协议栈1--Linux下详细移植步骤(配置.生成) > < libmodbus协议栈2-- Linux下 modbu ...