1.++,+=,--,-=不会改变数据类型
public class Test1{
public static void main ( String [ ] args ) {
short s1 = 20 ;
s1 ++ ;
s1 += 3 ;
s1 -- ;
System.out.println ( s1 );
/*byte s2 = 12 ;
s2 = s1 + 1 ; //错误: 不兼容的类型: 从int转换到byte可能会有损失
System.out.println ( s2 ) ;*/
}
}
2. x++ x-- 是先拿着x做其他操作,做完了再执行++ --
第二个n++即便是用()括起来,也是从存储器栈取10的值放入运算器栈,然后再改变存储栈中n的值。
结论:n++ n--无论怎么改变运算优先级,在物理层面都是 存储器取值——>入栈运算器——>修改存储器中n的值