Scala的变量和数据类型

var和val的区别

常量:在程序执行的过程中,其值不会被改变的变量

  1. 基本语法
    var 变量名 [: 变量类型] = 初始值 var i:Int = 10
    val 常量名 [: 常量类型] = 初始值 val j:Int = 20
    注意:能用常量的地方不用变量

数据类型

在这里插入图片描述

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

整数类型(Byte、Short、Int、Long)

在这里插入图片描述
Scala 的整型,默认为 Int 型,声明 Long 型,须后加‘l’或‘L’。
Scala 程序中变量常声明为 Int 型,除非不足以表示大数,才使用 Long。

浮点类型

在这里插入图片描述
Scala 的浮点型常量默认为 Double 型,声明 Float 型常量,须后加‘f’或‘F’。

字符类型(Char)

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

布尔类型(Boolean)

boolean类型占一个字节

Unit类型、Null类型和Nothing类型

  1. 基本说明
    在这里插入图片描述

类型转换

自动类型转换

数据类型按精度(容量)大小排序为:
在这里插入图片描述

  1. 自动提升原则:有多种类型的数据混合运算时,系统首先自动将所有数据转换为精度大的那种数据类型,然后进行计算
  2. 把精度大的数值类型赋值给精度小的数值类型会报错,反之进行自动类型转换。
  3. (byte,short)和char之间不会相互自动转换。但是可以计算,在计算时,他们会先转换为int类型然后进行计算。

强制类型转换

自动类型转换的逆过程,将精度大的数值类型转换为精度小的数值类型。使用时要加上
强制转函数,但可能造成精度降低或溢出,格外要注意。

Java : int num = (int)2.5
Scala : var num : Int = 2.7.toInt

数值类型和String类型间转换

在程序开发中,我们经常需要将基本数值类型转成 String 类型。或者将 String 类型转成
基本数值类型。

  1. 基本类型转 String 类型(语法:将基本类型的值+“” 即可)
  2. String 类型转基本数值类型(语法:s1.toInt、s1.toFloat、s1.toDouble、s1.toByte、s1.toShort、s1.toLong)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值