我已经编写了一段无限循环运行的Java代码。
下面是代码:
public class TestProgram {
public static void main(String[] args){
Integer i = new Integer(0);
Integer j = new Integer(0);
while(i<=j && j<=i && i!=j){
System.out.println(i);
}
}
}
在上面的代码中,虽然看到了while
循环中的条件,但起初看起来该程序不会进入while
循环中。但是实际上,这是一个无限循环,并不断显示该值。
这是怎么回事
i <= j
被评估true
的,因为自动拆箱发生了INT比较,那么这两个i
和j
保持默认值0
。
j <= i
true
由于上述原因而被评估为。
i != j
被评估为true
,因为i
和j
都是不同的对象。并且在比较对象时,不需要自动拆箱。
所有条件都为真,并且您没有在更改i
且j
处于循环状态,因此它无限运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句