黑马程序员技术交流社区

标题: 求助!!!!!!!!!!!! [打印本页]

作者: k1453711238    时间: 2017-8-2 23:20
标题: 求助!!!!!!!!!!!!
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
作者: 584006329    时间: 2017-8-3 00:07
前面s1+1由于java中的隐式转换(自动转换)将short自动转换为了int类型,而s1是short类型,一个int类型的数,你用short类型去接收自然就会报错,而后面的那种是不会报错的
作者: lsx2579    时间: 2017-8-3 16:06
1楼说的很对~

作者: 火小枪    时间: 2017-8-14 17:37
后面不报错是因为 +=   -=    =  包含强制类型转换操作
作者: zhoubinjian    时间: 2017-8-14 18:50
一楼一楼正解

作者: 花漾丶    时间: 2017-8-15 15:05
1是int类型,和short类型的s1做运算得到的是int类型,赋值给short类型的s1需要强制转换成short类型





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2