我们都知道了JAVA语言中一个有八大数据类型,
然而这些数据类型中除了布尔类型,其它类型的数据都可以相互转换
这些转换也分为两种:
一:自动转换
二:强制转换
一.自动转换
为什么要自动转换?
因为变量在运算过程中可能会超出数据类型存储的范围(溢出)
我们JAVA就采用数据类型的自动转换来避免这个问题
既:小空间的类型和大空间的类型进行运算时,
会自动提升成大空间的数据类型。
理论比较难理解,那么我们就用实战来说明
先看一下整数类型吧:
1.byte,short,char 进行运算时会自动提升成 int
2.int类型
上面说了byte,short,char在进行运算的时候会自动提升成int
那么我们int做运算的时候呢?
3.小数类型
1.所有小数类型和整数类型进行运算时,都会自动转换成小数类型
2.float和double进行计算时会自动转换double类型
数据类型的自动转换就到这里
二:强制转换
强制转换只要遵循一个语法:(目标数据类型)变量名
1.使用强制转换时要注意目标类型存储的范围,防止溢出,损失精度
2.小数类型强制转换成整数类型时会舍弃掉小数位
强制转换差不多也就这样。
最后:我们来总结一下
1.自动转换就是小空间往大空间转换,强制转换就是大空间往小空间转换。
2.上面我们说了除了布尔类型,其他的都可以相互之间去转换
(假如全部写在这里太麻烦了,我只列举了一些特殊的)