简单赋值运算符和复合赋值运算符

转载自: http://shangtang004.iteye.com/blog/734194 by shangtang004

 

java 中的=为简单赋值运算符,

+= -= 等为复合赋值运算符

 

看java specification中的一句话

 

A compound assignment expression of the form E1 op= E2 is equivalent to E1 = (T)((E1) op (E2)), where T is the type of E1, except that E1 is evaluated only once.

 

For example, the following code is correct:

 short x = 3; x += 4.6; 

 

and results in x having the value 7 because it is equivalent to:

 short x = 3; x = (short)(x + 4.6);

 

 

 

一直不太明白面试题中的这个区别,还是看权威放心些,有些书上把复合赋值运算符翻译为扩展运算符,让人不好理解。

你可能感兴趣的:(面试,Blog)