当前位置: 首页 > 知识库问答 >
问题:

if/for/while中“缺少return语句”

秦博达
2023-03-14

关于if()while()for()语句中使用的return语句,我有一个问题。正如您在下面的方法中所看到的,希望I返回一个字符串值。问题是,如果在if语句块中使用return语句,编译器将返回错误missing return statement

public String myMethod()
{
    if(condition)
    {
       return x;
    }
}

当然,我可以将方法头更改为void,并使用system.out.println而不是return。但这是正确的做法吗?我是不是漏掉了什么?

任何帮助都是非常感谢的。

共有1个答案

司寇善
2023-03-14

如果您将return语句放在Ifwhilefor语句中,那么它可能返回值,也可能不返回值。如果它不会进入这些语句,那么该方法也应该返回一些值(可能是空值)。为了确保这一点,编译器将强制您编写返回语句,该语句位于ifwhilefor之后。

但是,如果您编写if/else块,并且每个块中都有return,那么编译器知道ifelse将得到execute和method将返回一个值。所以这次编译器不会强迫你。

if(condition)
{
 return;
}
else
{
 return;
}
 类似资料:
  • 关于或语句中使用的返回语句,我有一个问题。 正如您在下面的方法中所看到的,它期望I

  • 我得到的错误是“缺少return语句”,代码如下: 有人能帮帮我吗?多谢.

  • 问题内容: 我有一个二维布尔数组’poorSignal’,需要编写一个返回网格的方法,如果数组上的某个点为true,则显示X,如果为false,则显示O。这是我的代码: 当我编译时,它在方法的最后一行给出了“丢失的返回语句”。我也不确定在打印数组时’return“ \ n”是否可以添加新行。 这是一个分配问题,所以我不能直接打印它,也不能仅打印布尔值-它必须是产生网格的方法。 问题答案: 编译器无

  • 我一直得到一个丢失的返回语句错误,但我不知道在哪里。每次跟随代码,我都感觉到至少有一个if语句提供了return语句。 代码:

  • 我有以下代码 null 我错过了什么?

  • 我不断地得到缺少的return语句并且在解析时到达文件的结尾,然而我已经有了return语句并且我的代码正确地关闭了括号。请帮忙,谢谢