黑马程序员技术交流社区

标题: 运算问题 [打印本页]

作者: hdhunter    时间: 2015-11-25 14:24
标题: 运算问题
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
作者: wyasln    时间: 2015-11-25 14:29
第一个有错,第二个没错,
1默认为int型,s1+1是short+int,结果为int,再赋值给short就会出错所以第一个错
但是+=符号就不会错,就是这样
作者: Little_jie    时间: 2015-11-25 14:32
type mismatch: cannot convert from int to short,因为s1=s1+1中的1是int类型的,需强制转换才行. s1 = (short) (s1 + 1);
作者: hdhunter    时间: 2015-11-25 14:41
Little_jie 发表于 2015-11-25 14:32
type mismatch: cannot convert from int to short,因为s1=s1+1中的1是int类型的,需强制转换才行. s1 = (sh ...

好厉害。
作者: Little_jie    时间: 2015-11-25 14:46
hdhunter 发表于 2015-11-25 14:41
好厉害。

编译器上都有报错提示信息的,可以看下




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