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

关于操作符的迷惑有关问题,抢分者乱入

2011-12-05 
关于操作符的迷惑问题,抢分者乱入shorts1shortss+1这是肯定不对的,但是为什么shorts1shorts+1这样

关于操作符的迷惑问题,抢分者乱入
short   s=1;short   s=s+1;
这是肯定不对的,
但是为什么short   s=1;short   s+=1;这样写就对呢??

困惑!请高手解答!!

[解决办法]
你的编译器有问题,两种写法都不对
[解决办法]
short s=1;short s=s+1;
这只知道这个,因为加法运算一边是short一边是int,所以这个运算结果会是int,而左边却是short s 所以说这个不行,或者强制转换才可以。
[解决办法]
前一个是自动类型提升:short--> int
下一个是不会出现自动类型提升,就是这样规定的
[解决办法]
我的理解是short s=s+1由于int型的1,导致s自动转型为int所以错误
但是s+=1其实应该和c++中的操作符重载一样,+=可以看作是一个函数,这样就可以认为是
(short)(s+=(1));
全是猜测,谈谈而已:)
[解决办法]
下面的自动进行类型转换
上面的不能
[解决办法]
前一个是自动类型提升:short--> int
下一个是不会出现自动类型提升,就是这样规定的
正确
[解决办法]
java 解惑 书上有解释
记得好像是T+=T 是带隐式转换的
[解决办法]
我用jdk1.6
short i = 1;
i += 1;
通过编译

热点排行