一、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中的数据类型的更多相关文章

  1. Scala 中的函数式编程基础(三)

    主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. ...

  2. Scala进阶之路-Scala中的泛型介绍

    Scala进阶之路-Scala中的泛型介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 通俗的讲,比如需要定义一个函数,函数的参数可以接受任意类型.我们不可能一一列举所有的参数类 ...

  3. scala中常用特殊符号

    参考资料: scala中常用但其他语言不常见的符号含义 Scala学习六:Scala中的特殊字符 =>(匿名函数) 参考文档:scala => 用法 匿名函数 => 匿名函数,在Sp ...

  4. 第2节 Scala中面向对象编程:1、类的定义;2、类的构造器;3、object和伴生对象;4、apply和main方法

    6.    类.对象.继承.特质 Scala的类与Java.C++的类比起来更简洁,学完之后你会更爱Scala!!! 6.1.   类 6.1.1.    类的定义 package cn.itcast ...

  5. Scala 基础(五):Scala变量 (二) 数据类型

    1 scala数据类型介绍 Scala 与 Java有着相同的数据类型,在Scala中数据类型都是对象,也就是说scala没有java中的原生类型 Scala数据类型分为两大类 AnyVal(值类型) ...

  6. Scala中的函数高级使用

    1.偏函数 1.基本介绍 在对符合某个条件,而不是所有情况进行逻辑操作时,使用偏函数是一个不错的选择 将包在大括号内的一组case语句封装为函数,我们称之为偏函数,它只对会作用于指定类型的参数或指定范 ...

  7. Scala中的流程控制

    一.分支控制if-else //Scala中if-else语句中,代码块内最后一句代码就是返回值 def main(args: Array[String]): Unit = { var age:Int ...

  8. Scala变量和数据类型

    一.注释及代码规范 Scala的注释和Java中完全相同:单行注释:// .多行注释:/* */ 以及文档注释:/**   */: 使用tab操作,实现缩进,默认整体向右边移动,用shift+tab整 ...

  9. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  10. Scala中apply的用法

    Scala中的 apply 方法有着不同的含义, 对于函数来说该方法意味着调用function本身, 以下说明摘自Programming in Scala, 3rd Edition Every fun ...

随机推荐

  1. webssh

    目录 使用 jupyter notebook 使用webssh GateOne 使用 jupyter notebook pip install jupyter ipyton # 启动 jupyter ...

  2. C#消息泵探索(一)

    ​消息泵 消息泵,又叫消息循环. 消息循环使用一个图形化用户界面下Microsoft Windows.具有GUI的Windows 程序是由事件驱动的.Windows为每个创建窗口的线程维护一个单独的消 ...

  3. uniapp-时间组件

    可以选择年月日时分秒 示例文件 my-datetime.zip 文档:https://ext.dcloud.net.cn/plugin?id=5603

  4. 13-之容器资源需求、资源限制及Metric-server(Heapster)

    目录 容器资源需求.资源限制及Heapster Heapster 资源指标API及自定义指标API k8s-promtheus监控部署 node-exporter prometheus kube-st ...

  5. jsonpath表达式

    JsonPath是一种简单的方法来提取给定JSON文档的部分内容,其中正则表达式的包含或不包含配制有时候非常有用! json操作实例 { "store": { "book ...

  6. html的table多级表头表格的代码

    1,两级表头的代码 <html> <head> <title>多层表头</title> <link rel="stylesheet&qu ...

  7. #0延时与for循环+fork join_none

    参考资料 (1) https://blog.csdn.net/moon9999/article/details/104207565 1.for循环+fork...join_none 注1: for循环 ...

  8. [Oracle19C 数据库管理] 配置数据库审计

    以下内容未经整理 占位 强制审计:无法关闭此审计,比如记录数据库的开启和关闭. 标准审计: 基于值得审计:创建触发器,基于值进行记录.Trigger占用资源多 细粒度审计:加一些where条件,针对触 ...

  9. 《TensorFlow+Keras自然语言处理实战》图书介绍

    #好书推荐##好书奇遇季#<TensorFlow+Keras自然语言处理实战>.当当京东天猫均有发售. https://item.jd.com/12788707.html 文后有本书配套源 ...

  10. python os.path模块函数功能

    1.os.path.abspath(path) 获取绝对路径,实际上等于os.getcwd()+path 2.os.path.basename(path)取path最后的文件或文件名.如果path以/ ...