** 类型转换
int a = 10;
double b=12.3;
c = a +b;
遇到不同数据类型的运算时
1.隐式转换 取值小的给取值大的赋值 int<double;
byte<short<=char< int< long<float<double;
2.强制转换:取值大的给取值小的
例:int a = 10;
byte b = a;
byte字节比int字节小
byte b =(byte)a;
格式:目标类型 变量名 = (目标数据类型)变量名;
扩展问题: byte short char 运算时 会直接提升为int 然后再运算;
例1.:byte a = 3;
byte b =4;
byte c =a+b;
这句话是错误的
解决:
byte c = (byte)(a+b);
先把和b相加 ,使用()提升 优先级 再对结果进行 强制转换 ;
例2.:
byte a = 3;
byte b =4;
byte c =3+4;
整数的默认类型是 int 两个int相加还是int Java 有优化机制会在编译时 自动判断 7是否在byte取值当中 **
类型转换
最新推荐文章于 2024-07-14 22:18:32 发布