cast——java类型转换

时间:2022-06-15 13:03:56

以下例说之:

byte b = 3; //??? 3是一个int常量,但是会自动判断3是不是在byte类型的范围内
b = b + 2; //Type mismatch: cannot convert from int to byte

若非强制转换,则

b = (byte) (b + 2);

在看下例:(s = s + 5;/ s += 5;之间的区别)

short s = 4;
s = s + 5; //编译失败,因为s会被提升为int类型,运算后的结果还是int类型,无法short类型
s += 5; //编译通过,因为+=运算符在给s赋值时,自动完成了强转操作