【发布时间】:2011-09-06 21:00:27
【问题描述】:
在这里查找“死代码”线程时 dead code warning in eclipse
我尝试了以下简单的java代码:
public class Test2
{
public static void main(String[] args)
{
int x = 0;
while(false)
{
x=4;
}
}
}
正确抛出编译时错误
C:\Documents and Settings\user\Desktop\Test2.java:7: unreachable
statement
{
^ 1 error
我稍微调整了代码:
public class Test2
{
public static void main(String[] args)
{
int x =0;
while(true)
{
x=4;
}
}
}
它编译得很好。
有什么原因,为什么编译得很好?
从逻辑上讲,两者都应该导致无限循环,并且都应该导致编译时错误。
我做错了吗?
【问题讨论】:
-
“稍微调整了代码”到完美的程度!
-
感谢大家的回答。我认为 while(false) 会导致无限循环是不正确的。非常感谢@S.L.Barth 对这个问题的数学观点。
-
人们在没有评论的情况下投反对票是很糟糕的:-(