强制转换与隐式转换
程序员文章站
2024-03-18 21:20:28
...
1. int类型 = 其他(<int的就强式) ex:int a = (int) b b是类型long double float
强:long double float
隐:byte short
2.其他 = int类型 (>int的就强式) ex:byte/short a = (byte/short) b b是int类型
强:byte short
隐:long double float
备注:其他类型的相互强隐式转换,A类型 a = b,A的类型大于b隐式,小于则强式(格式:A类型 a = (A类型:备注小于A类型的也可以) b)
ex:
short aa = 2;
byte b = (byte) aa;
格式:A类型 a = (A类型) b
1.a类型大于b类型,不用强制转换,但是可以自己加类型转换,只要不大于a类型就不会报错
2.a类型小于b类型,必须强制转换,但是类型转换不大于a类型也不会报错,总结这两点就够了。
比如
float aa = 2;
long b = (byte/short/int) aa;
byte a = 1; short b = (int)a; 括号里的类型不能大于b的类型,大于会报错
关于类型大小: byte<short<int<long<float<double
上一篇: Boolean转为int型
下一篇: 10进制与16进制字符串互转