值类型隐式转换
Ø介绍
当Scala程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换(隐式转换)。
Ø 数据类型按精度(容量)大小排序为
Ø案例演示
演示一下基本数据类型转换的基本情况。
Ø自动类型转换细节说明
1)有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。 5.6 + 10 = 》double
2)当我们把精度(容量)大 的数据类型赋值给精度(容量)小 的数据类型时,就会报错,反之就会进行自动类型转换。
3)(byte, short) 和 char之间不会相互自动转换。
4)byte,short,char 他们三者可以计算,在计算时首先转换为int类型。
5)自动提升原则: 表达式结果的类型自动提升为 操作数中最大的类型
高级隐式转换和隐式函数
scala还提供了非常强大的隐式转换机制(隐式函数,隐式类等等),我们放在高级部分专门用一个章节来讲解
强制类型转换
Ø介绍
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转函数,但可能造成精度降低或溢出,格外要注意。
Ø案例演示
java : int num = (int)2.5
scala : var num : Int = 2.7.toInt //对象
Ø强制类型转换细节说明
1)当进行数据的 从 大——>小,就需要使用到强制转换
2)强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
val num1: Int = 10 * 3.5.toInt + 6 * 1.5.toInt // 36
val num2: Int = (10 * 3.5 + 6 * 1.5).toInt // 44
println(num1 + ” ” + num2)
3)Char类型可以保存 Int的常量值,但不能保存Int的变量值,需要强转
4)Byte和Short类型在进行运算时,当做Int类型处理。
想要了解跟多关于大数据培训课程内容欢迎关注尚硅谷大数据培训,尚硅谷除了这些技术文章外还有免费的高质量大数据培训课程视频供广大学员下载学习。
上一篇: Scala数据类型-布尔类型Boolean_尚硅谷大数据培训
下一篇: 众所期待 | 尚硅谷SSM新版视频教程发布