首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?该如何解决

2012-03-04 
short s1 1 s1 s1 + 1有什么错? short s1 1 s1 + 1有什么错?shorts11s1s1+1(s1+1运算结果

short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short   s1   =   1;   s1   =   s1   +   1;   (s1+1运算结果是int型,需要强制转换类型)
short   s1   =   1;   s1   +=   1;(可以正确编译)

表达式s1   =   s1   +   1   与     s1   +=   1是相同地啊!

[解决办法]
我的理解:
short s1 = 1;(此处已经将s1转换为int 型) s1 = s1 + 1;
short s1 = 1; s1 += 1;

[解决办法]
不相同
si +=a(a为任意数字)的定义为s1=((T)(s1+a)),T为a的类型,
你说这与s1=s1+a一样吗?
你的例子为s1=s1+1,这1在short的范围之内, 当然没区别,你这样就有区别了,short s1 +=123456
s1的结果为-7616

热点排行