java: short s=1; s=s+1 不能通过编译,而s+=1 可以,为什么了??
发布网友
发布时间:2022-05-12 08:01
我来回答
共2个回答
热心网友
时间:2024-02-20 03:34
s是short类型,1是int类型,short和int相加就不行啊,需要强制转换啊,但是s+=1,这是说s加了1之后才进行转换,就像数学中,1.1+1,不就是等于2.1吗?
short对于小数点需要有强转的啊,就像double
a
=
2.1也会不能通过编译的,s+=100.223就像上面说的,是相加之后就转换了,所以可以通过..
热心网友
时间:2024-02-20 03:34
java:
short
s=1;
s=(short)s+1
,强制转换一下,因为1是int型,加上s后就变成int型了!把低的转化成高的.,所以s+1是int型!但是你定义的s是short
,所以要强制转换!