黑马程序员技术交流社区
标题:
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
[打印本页]
作者:
勿忘心酸
时间:
2015-4-20 22:18
标题:
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
对于 short s1 = 1; s1 = s1 + 1;由于s1+1运算时会自动提升表达式的类型,所以结果是int
型,再赋值给short类型 s1时,编译器将报告需要强制转换类型的错误。
对于 short s1 = 1; s1 += 1;由于 +=是java 语言规定的运算符,java编译器会对它进行特殊
处理,因此可以正确编译。
作者:
王善辉
时间:
2015-4-20 22:39
是的,就是这个样子的
作者:
itheima_llt
时间:
2015-4-20 23:42
楼主辛苦了,非常感谢!
作者:
呢?
时间:
2015-4-20 23:43
学习了~
作者:
忘言
时间:
2015-4-20 23:59
看得出楼主也是来混分的~~
作者:
郝聚德
时间:
2015-4-21 00:01
s1与1相加的时候 就隐式提升为int类型 相加完了肯定得要强转啊
作者:
勿忘心酸
时间:
2015-4-22 19:42
顶一下,写的很详细啊
作者:
redlake
时间:
2015-4-22 20:02
以前看过这个,有印象
作者:
lclxjzz
时间:
2015-4-22 20:08
··自己都知道了·
作者:
dengxing
时间:
2015-4-22 20:12
恩恩,这关系到了类型的提升
作者:
黄文昭
时间:
2015-4-22 22:34
正解!要是还有其他类型的转换总结来比较就好了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2