小类型向大类型转换
1、小类型向大类型的转换会自动完成,不需要程序员编写额外的代码,有JVM负责。
自动类型转换 即 隐式类型转换
2、自动转换的规则:符号位会自动扩展,负数补1,正数补0
3、自动类型转换包含以下情况:
(1)byte -> short -> int -> long -> float -> double
(2)int 和 char 类型的数据在某些情况下可以自动相互转换。
4、整数 到 浮点数 转换会存在 损失精确度 问题
注意:
(1)小类型向大类型转换一般情况下是安全的。
(2)当小类型的精度高于大类型时,要注意精度丢失问题。
大类型向小类型转换(强制转换)
byte b = 5;
b = (byte)(5 + 10)
int 类型 和 char 类型 自动转换
Java对 char类型的数据在底层是按 int类型 来处理的,只是显示的时候是字符型。
char c = 65;
int i = 'B';
System.out.println(c + "," + i); // Output:A , 66
字符类型的数据可进行数值计算
char c = 'A';
int i = c + 1;
c = (char)(c + 1);
System.out.println(c + ":" + i); // Output:B : 66