short s1 = 1; s1 = s1 + 1;和 short s1 = 1; s1 += 1;哪个是错的

s1 = s1 + 1和s1 += 1的区别是什么,标题中哪个是错的?谢谢,共俩问题,答全马上给分谢

BIG阳
浏览 724回答 4
4回答

慕斯709654

这个 涉及到int 和short 转换的问题。第一个是错误的。第二个应该是正确的。

元芳怎么了

 s1 = s1 + 1; s1 = (short)(s1 + 1)-------是int类型的;

米脂

s1=s1+1这个等号的左边是short,等号右边的结果是int(不知道为什么),int是不能隐式转换为short的,所以右边不能赋值给左边. 而第二个+=左右两边都是short所有没错.

守候你守候我

两个 都会转成 int 相加,第二个 没有报错是由于  运算符的问题。 += 只计算一次,     =      + 是两个运算符了,计算两次,所以报错了。
打开App,查看更多内容
随时随地看视频慕课网APP