一、自动类型转换规则(类型兼容)
1.规则1:
如果一个操作数为double型,则整个表达式可提升为double型
2.规则2
满足自动类型转换的条件:
①两种类型要兼容:数值类型(整型和浮点型)互相兼容
②目标类型大于源类型: 例如:double 型大于 int 型
二、强制类型转换规则(类型兼容)
1.规则1
在把容量大的类型转换为容量小的类型时必须使用强制类型转换
2.规则2
转换过程中可能导致溢出或损失精度
3.规则3
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
三、代码展示
//(type)value type是要强制类型转换后的数据类型
public static void main(String[] args) {
int a=2;
double d=2.9999;
double result=a+d;//自动类型转换,a是int类型,自动转换为double类型
int rst=a+(int)d;//将double类型强制类型转换int类型,且d精度丢失
System.out.println(result);//输出结果为4.9999
System.out.println(rst);//输出结果为4
}