今天对于强制类型转换终于搞清楚了啊!!!
-
自动(隐式)转换:自动转化
-
强制类型转换:大范围往小范围转化
自动转换也就是隐式转换,小范围往大范围转换就是自动转换,然而从大范围往小范围转化就是我们常说的强制类型转换。针对强制类型转换有以下说明:
语法:(你想要转换成为的类型)数据
注意:转换后的值会有所损失
规则:
1:整数直接量可以直接给char、short、byte复制,但是不能超出他们三个对应的值的范围
2:char、short、byte型数据参与运算时。系统会自动将齐统一转换为int型再次运算
下面举char型列子:
1:System.out.println('0' + '0'); //96 2:System.out.println(0 + '0'); //48 3:System.out.println('0'); //0
由上面代块码可知:
-
1:'0' + '0'是char型相加,其内部转换成int进行相加,而0所对应的ASCII码为48,所以48+48=96
-
2:0 + '0'同理可知,结果为48
-
3:'0'单独一个字符0,并没有参与运算,所以结果还是0