首页 > 试题广场 >

以下循环执行()次 public class Tes

[单选题]
以下循环执行()次
public class Test{
    public static void main(String[] args){
        int  x=-10,k=0;
        while(++x<0){
            k++;
        }
        System.out.println(k);
    }
}
  • 9
  • 10
  • 11
  • 无限

首先,我们要知道x++和++x的区别

x++是先用x的值再+1

++x是先+1再用x的值

题目里

public class Test{
    public static void main(String[] args){
        int  x=-10,k=0;
        while(++x<0){
            k++;
        }
        System.out.println(k);
    }
}

每次在while循环判断的地方,x的取值是-9到-1,在while循环里x的取值是-9到-1,所以执行了9次
如果while循环判断的地方是x++的话

public class Test{
    public static void main(String[] args){
        int  x=-10,k=0;
        while(x++<0){
            k++;
        }
        System.out.println(k);
    }
}

那么x在while循环判断的地方每次取值是-10到-1,在while循环里x的取值是-9到-1。
为什么会有如此的差距呢,细品前三行,如果还没将清楚可以在while循环里加上System.out.println(x)跑一下就懂了。

发表于 2020-10-21 19:32:49 回复(0)
给我的感觉是,当x=-1的时候,++x等于零,又因为是while循环,当括号里符合条件的时候,才会执行语句,所以,从-10到-2,共输出9次
发表于 2020-05-09 23:29:20 回复(2)