话不多说,直接上例子:
byte类型的数据不能直接做相加减,因为在做相加减的时候,Java会默认将byte类型的数据转换成int类型,所以如果接收的数据还是byte类型的话,会出错。
错误代码:
byte b1 = 3,b2 = 4,b;
b = b1+b2;//这一行会报错
正确代码1:
byte b1 = 3,b2 = 4,b;
b = b1+b2;//这一行会报错
int c;
c = b1+b2;//将两个byte类型的数据相加之后赋给int类型数据即可
正确代码2:
byte b1 = 3,b2 = 4,b;
b = (byte)(b1+b2);//进行强制类型转换也可
同理,short类型的数据直接做相加减的时候也会出错。
错误代码:
short s =1;
s = s+1;//这个是错误的,因为刚开始的时候s是short类型,但是在对它做+操作时,默认将它提升到了int类型,肯定出错。
正确代码1:
short s = 1;
s = (short)(s+1)
正确代码2:
short s = 1;
s += 1;//在做这个操作的时候,实际上时这样的:s = (short)(s+1)
感谢阅读,我是啊帅和和,一位大数据专业即将大四学生,祝你快乐。