Scala 数据类型

1、基本说明

  1. Scala中一切数据都是对象,都是Any的子类
  2. Scala中数据类型分为两大类:数值类型(AnyVal)、引用类型(AnyRef),不管是数值类型还是引用类型都是对象
  3. Scala数据类型仍然遵守,低精度数值类型像高精度数值类型自动转换(隐式转换)
  4. Scala中的StringOps是对Java中的String增强
  5. Unit:对应Java中的void,用于方法的返回值,表示该方法不存在返回值。Unit也是一个数据类型,他只有一个对象就是().Void不是数据类型,仅仅是一个关键字
  6. Scala中Null也是一个类型,只有一个对象,就是null。它是所有引用类型(AnyRef)的子类
  7. Nothing 是所有数据类型的子类,主要用在一个函数没有明确返回值时使用,因为这样我们可以把抛出的返回值,返回给任何的变量或者函数

2、整数类型

Scala的整数类型就是用于存放整数值的,比如:12、30等

数据类型描述
Byte1个字节,8位有符号补码整数。数值区间为 -128 到 127
Short2个字节,16位有符号补码整数。整数区间为 32768 到 32767
Int4个字节,32位有符号补码整数。数值区间为 -2147483648 到 2147483647
Long8个字节,64位有符号补码整数。数值区间为 -2 ^ (64 - 1) 到 2 ^ (64 - 1) - 1

3、字符类型

Char,字符类型可以表示单个字符

说明:

  • 字符常量是用单引号引起来的单个字符
  • \t:制表符
  • \n:换行符
  • \\:表示反斜杠\
  • \":表示单个双引号"

4、Unit、Null、Nothing

数据类型描述
Unit表示无值,同Java语言中的void,方法无返回值是使用。Unit是一个对象,仅存在一个实例,为()
NullNull是一个对象,仅存在一个实例null
NothingNothing类型在Scala语言中是所有类的子类。当一个函数,我们确定没有正常的返回值(通常这是为异常),可以用Nothing来指定返回类型,这样有一个好处,就是我们可以把返回值(异常)赋给其他的函数或者变量(兼容性)

5、类型转换

5.1、自动类型转换规则

自动类型转换:当Scala程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数值类型。

基本原则:

  1. 自动提升原则:有多种类型的数据混合运算时,系统首先自动将所有数据转换为精度大的那种数据类型,然后再进行计算
  2. 把精度大的数值类型复制给精度小的数值类型时,会出现异常,反之,就会进行自动类型转换
  3. byte,short)和char之间无法相互类型转换
    4. byteshortchar三者混合计算时,首先会将数据类型转换为int

5.2、强制类型转换

  • 自动类型转换的逆过程,将精度大的数值类型转换为精度小的数值类型。使用时要加上强制转换函数,但可能造成精度降低或溢出。
  • 强转只针对最近的操作数有效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值