java程序中要求参与计算的数据,必须保证数据类型的一致性,当数据类型不一致的时候,将会发生数据类型转换。
数据类型之间的转换分为两种:
自动类型转换(隐式)
自动转换:将取值范围小的类型自动提升为取值范围大的类型
byte类型在内存中占一个字节,需要和int类型的变量做运算会自动提升为int类型,自动补充3个字节,计算的i结果自然就是int类型
强制类型转换:将取值范围大的类型转换成范围小的类型
格式:数据类型 变量名 = (数据类型)被转数据值;
强制类型转换:
1、特点:需要对代码进行特殊处理,程序不会自动完成
2、格式:范围小的数据类型 范围小的变量名 = (范围小的数据类型)原来范围大的数据类型;
强制类型转换的注意事项:
1、一般不推荐使用,因为可能会发生精度随时,数据溢出
2、byte/short/char这三种数据类型在运算的时候,都会被首先提升为int类型,然后在计算。
3、boolean类型不能发生数据类型转换
4、char类型可以进行数学运算,例如:加法"+"