本帖最后由 游侠儿 于 2014-4-28 19:57 编辑
s1是short占两个字节,1是常量,容量小的类型与容量大的类型进行计算,默认转换为容量大的数据类型;但是short、byte、char类型只要参与运算都会上升为int类型,比如说 short s1 = 1,s2 = 2;s1 = s1 + s2;依然会报错,因为他已经参与了运算上升为了int类型,如果改为s1=1+1;则不会报错,因为1+1得到的还是常量。数据类型按容量大小排序为:byte,short,char->int->long->float->double,容量数据大的数据类型不能再赋值给容量数据小的类型,所以会报错 |