1,先将y和0进行比较,判断y是不是0,如果是0则条件不成立
2,判断完成后,再将y减去1的结果赋值给y。控制结构的条件表达式,始终是一个顺序点,以上面的while语句为例来说,编译器始终保证表达式y--完全执行完毕后,再执行循环体或者循环体以外的语句
int x = 1,y = 6;
while (y-->0) {
System.out.print("y="+y+",");
x--;
System.out.println("x="+x);
}
System.out.print("x="+x+",y="+y);
输出结果为
y=5,x=0
y=4,x=-1
y=3,x=-2
y=2,x=-3
y=1,x=-4
y=0,x=-5
x=-5,y=-1
我的理解:
当y=1,x=-4时,当再次执行判断语句y-->0时,先y=1>0,判断可继续执行循环语句,然后执行--,y=y-1=0,接着打印出y=0,再执行x--.