泼孩 发表于 2011-11-17 20:11
楼主是要问s=s+2与s+=2的区别吧?
short s=3;这句很明了,定义了short 类型s,赋值操作,将3赋给s,发生数据 ...
在java中s = s+2;是一个表达式运算的结果再进行赋值运算,而s+=2虽然结果看似一样,但它只是一个赋值运算。。不是因为short s = s + 2;中的这个2是int型类型才提升的,而是short类型在表达式中它首先就会先提升为int类型,若还有更高类型的,再提高到更高类型,再进行计算。你可以试看看 short a=0, b=1, c=2; a = b+c; 我看看能不能编绎。 |