byte b1=3,b2=4,b;
b=b1+b2;//这句会编译失败
b=3+4;//这句会编译成功
解释:
(1)默认转换
byte,short,char——int——long——float——double
byte,short,char互相不转换,他们参与运算首先转换为Int类型。
(2)b=3+4, 3和4都是常亮,所以java在编译时期会检查该常量的和是否超出byte类型的范围。如果没有可以赋值
b=b1+b2不可以,是因为b1和b2是变量,因为变量的值会变化不确定具体的值,所以默认使用Int类型进存储。
基础数据类型易错面试题
最新推荐文章于 2024-01-20 20:13:41 发布