猿问

为什么是-5,-1呢,0>0真还是假?

public class E{
    public static void main (String args[]){
    int x=1;
    int y=6;
    while(y-->0){
       x--;
   }
   System.out.println(x);
   System.out.println(y);
 }
}


慕运维6449622
浏览 1897回答 3
3回答

AnglusWang

0>0 很明显为假; 但是当 y 为1 判断时, 进入while循环,x的值变为)5; 即: 当执行 y-- > 0 (y=0) 这个判断语句后,while循环终止; 打印输出x, y 的值 分别为 -5, -1.补充: y-- 与 --y 的区别是, 前者 先运算再自减,后者 是先自减了 再参与运算。

yanrun

因为y--时需要先使用y值再自减,最后一次循环时y=0,0>0为假,跳出循环,而y需要自减所以最后y=-1
随时随地看视频慕课网APP

相关分类

Java
我要回答