public class revise{
public static void main(String args[]) {
int x=1,y=6;
while(y-->0) {
x--;
}
System.out.println("x="+x+",y="+y);
}
}这个结果为什么是x=-5,y=-1啊

解决方案 »

  1.   

    ddddddddddddddddddddddddddddd
      

  2.   

    Y-- 先运算在进行-1    --y  先-1 在运算 当Y等于0时还会进入一次循环判断
      

  3.   

    因为当Y=0时,也需要进行条件判断,但是判断为false ,所以不执行方法体。但是需要执行Y--
      

  4.   

    当y=0时,while中的条件要进行判断,虽然大于0的条件不成立,但是y的自减1还是要执行的。但是这时while的循环体是不执行的。
    所以就有了这样的结果
      

  5.   

    你理解了 --Y 和 Y-- 的区别就知道了,可参考 https://blog.csdn.net/weixin_41922349/article/details/88175565