java类型转换比python复杂,下面我整理了java类型转换的细节
一.自动转换
java的自动转换是将是由大向小的转换,也就是大的数据类型可以转换为小的数据类型
char-->int-->long-->float-->double
byte-->short-->int-->long-->float-->double
上面数据类型从左到右依次增大
细节1:
byte,short,char三者之间不会进行转换
char和short所占大小相同,但任然会报错,从byte转换为char任然会报错.
细节2:
byte, short,char可进行计算,但计算时要转换为int类型.否则会报错.也就是说在进行运算的时候要将结果存到int类型或者更大类型,比如float,double类型.
细节3:
boolean类型不参与转换
二. 强制转换
强制转换是将大的数据类型转换为小的数据类型.
细节1:
强转符号只针对最近的操作数有效,往往使用小括号提升优先级.
细节2:
char类型可以保存int的常量值,但不能保存变量值
char c1=100; //ok
int m=100; //ok
char c2=m; //错误
char c3=(char)m; //ok