一、基本数据类型与基本数据类型之间(自动转换与强制转换)
整型之间:byte short int long 强制转换: int a = 10; byte b = (byte)10; 自动转换: byte a = 1; int b = a;
浮点数之间:float double,默认double
自动装换: float x = 3.4F; double y = x; 强制转换: double x = 23.2;
float y = (float)x;
字符类型之间类型: char x = ‘a‘; char y = x;
如果超出存储范围,强制转换会导致值变换: int a = 1000; byte b = (byte) a; 其中,byte最大是127,1000没法存储,强制转换会导致1000这个值变化。
整数与浮点数之间:浮点精确程序越高,可以直接存放整数。反之需强制转换。任何一个浮点都可以直接存储一个整型。 自动直接转换: int a = 1; float b = a; 强制转换: float a = 1.0F; int y =(int) a;
整数与字符之间:每个字符对应一个unicode码。 自动转换: char x = ‘a‘ int y = x; 强制转换: int y = 97; char x = (char)y;
二、引用数据类型与引用数据类型之间。(不可以直接转换,上转型,下转型)
三、基本数据类型与引用数据类型之间。(不可以直接转换,包装类或者封装类)
原文:https://www.cnblogs.com/cnbp/p/12635467.html