1、执行运算指令时,压入操作数栈的顺序不受运算优先级影响
2、i++ 先将i值压入到操作数栈,再在局部变量表自增
3、++i 先在局部变量表自增,再压入到操作数栈
记忆方法:i的先后,表示压入操作数栈的先后。
看如下例子,试着分析
public static void main(String[] args) {int i = 1;//局1操1 + 局2操1;局3操3; 1 + 1 * 3 = 4int j = i + (i++) * (++i);System.out.println(j);//局3操3,局4操4;局5操4; 3 + 4 * 4 = 19int k = i + (++i) * (i++);System.out.println(k);}
结果: