为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

BIG阳 2018-12-07 00:18:22
s1 = s1 + 1和s1 += 1的区别是什么,标题中哪个是错的?谢谢,共俩问题,答全马上给分谢
查看完整描述

4 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

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

查看完整回答
反对 回复 2019-01-21
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-01-21
?
米脂

TA贡献1836条经验 获得超3个赞

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

而第二个+=左右两边都是short所有没错.

查看完整回答
反对 回复 2019-01-21
?
守候你守候我

TA贡献1802条经验 获得超10个赞

两个 都会转成 int 相加,第二个 没有报错是由于  运算符的问题。

+= 只计算一次,     =      + 是两个运算符了,计算两次,所以报错了。

查看完整回答
反对 回复 2019-01-21
  • 4 回答
  • 0 关注
  • 716 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信