例如:(1) short s = 2; s = s+4;
(2) short s = 2; s+=4;
问题是上面的这两个错了吗?
答:第(1)个错了,因为s是short型的,占两个字节,4是默认的int的型的,占4个字节;(1)中先做加法运算,在做赋值运算;显然short没有办法装下int型的;
因此可以修改为s=(short)(s+4);即把结果强制转换为short型的。
第(2)个是正确的,这个只做赋值运算,内部有一个转换类型动作,所以是正确的。作者: 邹学良 时间: 2013-3-5 21:59