【发布时间】:2012-11-02 11:26:09
【问题描述】:
以下代码:
public static void print(ListNode p)
{
System.out.print("[");
if(p==null);
{
System.out.println("]");
return;
}
ListNode k = p.getNext();
//more code
}
导致以下编译错误:
----jGRASP exec: javac -g Josephus_5_Rajolu.java
Josephus_5_Rajolu.java:53: error: unreachable statement
ListNode k = p.getNext();
^
1 error
----jGRASP wedge2: exit code for process is 1.
----jGRASP: operation complete.
为什么会这样? 我只在 p = null 时返回。如果 p!=null,我想做我的其他代码。为什么无法访问?
【问题讨论】:
-
要学习的经验:(1) 编写与您想象的不同的代码很容易,(2) 您的编码风格可以帮助您的代码更简洁。例如,如果您将花括号直接放在 if 语句的右侧,您可以减少插入不正确分号的机会。
-
感谢您的提示。我已经多次看到 if 语句旁边的花括号并且我尝试过使用它,但是因为我习惯了这种编码风格,所以当我尝试这样做时感觉很尴尬。第 1 课非常正确。
标签: java if-statement compiler-errors return unreachable-statement