1、赋值运算符合自增运算符的使用
short s1 = 1; s1 = s1 + 1;
short s1 = 1; s1 += 1;
上面两行代码能否正常编译?
答:对于“short s1 = 1; s1 = s1 + 1;”,由于s1+1的运算结果为int类型,所以需要强制类型转换;而后一行中s1 += 1;系统在编译时直接隐式转换,则可正确编译。
2、已知变量x的初值为24,则表达式x+=x--+=x%=17运算的结果值为() A. 28 B.27 C. 26 D.错误的表达式
答:D,因为--为一元运算符,优先级高于+=和%=,于是先计算x--,此时x=23,而%=优先级高于+=,所以计算x%=17,结果为6,此时整个表达式变为x+=24+=6,因为赋值操作符的左操作数必须是变量、属性、索引器或事件类型的表达式,所以该表达式是错误的。