值类型转换
值类型隐式转换
介绍
当Scala程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换(隐式转换)。
数据类型按精度(容量)大小排序为
自动类型转换细节说明
- 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。 5.6 + 10 = 》double
- 当我们把精度(容量)大 的数据类型赋值给精度(容量)小 的数据类型时,就会报错,反之就会进行自动类型转换。
- (byte, short) 和 char之间不会相互自动转换。
- byte,short,char 他们三者可以计算,在计算时首先转换为int类型。
- 自动提升原则: 表达式结果的类型自动提升为 操作数中最大的类型
高级隐式转换和隐式函数
强制类型转换
介绍
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转函数,但可能造成精度降低或溢出,格外要注意。
案例演示
java : int num = (int)2.5
scala : var num : Int = 2.7.toInt //对象
值类型和String类型的转换
介绍
在程序开发中,我们经常需要将基本数据类型转成String 类型。或者将String类型转成基本数据类型。
基本类型转String类型
语法: 将基本类型的值+"" 即可
案例演示:
String类型转基本数据类型
语法:通过基本类型的String的 toXxx方法即可
案例演示:
注意事项
在将String 类型转成 基本数据类型时,要确保String类型能够转成有效的数据,比如 我们可以把 “123” , 转成一个整数,但是不能把 “hello” 转成一个整数