楼主的while(true)是一个死循环,在java中,用二进制的最高位来表示数值的正负,0为正,1为负。int类型的取值范围是(-2^32到2^32-1),当x的值达到最大值的时候再自增一次就会得到int最小值,即-2147483648(-2^32),满足x<10的条件,所以会继续输出。
可以让线程打印前休眠1秒钟查看打印结果。
代码如下:- class Demo6
- {
- public static void main(String[] args) throws Exception
- {
- int x = 1;
- while (true)
- {
- if (x < 10)
- {
- Thread.sleep(1000);
- System.out.println(x);
- }
- x++;
- }
- }
- }
复制代码 |