求解输出y的值:
package ITCast;
class outer {
public static void main(String[] args) {
int x = 2;
int y = (x++)/(--x);
System.out.println(y);
}
}
分析过程:
0. 假设x 所在的寄存器为R1
1. 先把x的初值2存入寄存器假设为R2, 并用此值作为除数。
2. 然后把x 的值自加1 存入寄存器R1,x 的值变为3 此时已完成(x++)这一步骤。
3. 这时考虑被除数: x 先自减1(记住开头时说明:x 在寄存器 R1) ,此时x的值由3变为2.作为被除数。
4. 最后 2/2=1;