这里是一道思考题
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
第一句是编译失败的
b=3+4 ,3和4都是常量,所以java在编译时期会检查该常量的和是否超出byte类型的范围。如果没有可以赋值。
b=b1+b2不可以,是因为b1和b2是变量,因为变量的值会变化,不确定具体的值,所以默认使用int类型进行存储。首先会先类型提升
这里是一道思考题
byte b = 130;有没有问题,如果想让赋值正确,可以怎么做,结果是多少
答:有问题,如果我们想要赋值正确,就必须要加上强制类型转换,那结果又是多少呢。
64+32+16+8+4+2=126,符号位时1,结果时负数,所以时-126
这是第二道题目:
byte b = 300;加上强制类型转换,结果时多少呢
44
感谢阅读,我是啊帅和和,一位大数据专业即将大四学生,祝你快乐。