![](/img/trans.png)
[英]Unreachable statement error when trying to return from a while loop - Java
[英]“unreachable statement” when trying to compile a “while” statement
我是Java的新手并且正在完成一些课程。 但是,在下面的代码中,我在尝试编译时遇到错误“无法访问的语句”。 关于我做错了什么的指示?
public String getDeliveredList() {
int count = 0;
while (count < deliveredList.size()){
return ("Order # " + count + deliveredList.get(count).getAsString());
count++;
}
}
从函数返回后,逻辑上它在该点之后就不再执行任何操作 - 永远不会达到count++
语句。
while (count < deliveredList.size()){
// function always ends and returns value here
return ("Order # " + count + deliveredList.get(count).getAsString());
// this will never get run
count++;
}
如果从函数返回,那么函数返回后的任何语句基本上都是无法访问的语句,编译器将对这些语句发出错误。
但是,以下代码不会在返回后写入语句时发出错误
void max(int a,int b)
{
if(a>b)
{
System.out.println(a+" is greater");
return;
}
System.out.println(b+" is greater");
return;
}
这是因为第一个return语句是在嵌套范围内编写的,而不是在函数范围内立即可见。 当a> b时,程序执行只会通过第一个return语句。 如果不是这样,则永远不会执行该代码块。 因此,尽管返回后有语句,但代码是可编译的;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.