我有一个if条件,如果它真的在结束标记之前写一个return语句?这是在java中编写return语句的更好方法

时间:2015-08-06 22:39:43

标签: java

我有一个if条件,如下所示

if (!null= xya)
return xya
{
a=b;
return abc
}

或者在进入循环

之前避免使用return语句更好

2 个答案:

答案 0 :(得分:0)

我对这个问题非常困惑,但这就是我想象的代码应该是这样的:

if (xya != null){
    return xya;
}
else{
    a=b;
    return abc;
}

我完全不知道这段代码的意图,或者为什么你需要声明a = b然后返回abc但是如果你想知道为什么你的代码不起作用那可能是它。正如另一个答案所示,可以完全删除else案例,但我觉得您需要暂时保持代码的结构尽可能严格。

答案 1 :(得分:0)

将您的问题解释为,"是否有更好的方法来编写return语句,即不使用if块?"如果这不是您所要求的,请重写您的问题,因为很难理解您的要求。

从您的代码中,我认为您正在尝试进行空检查,如果它不为空则返回xyz。否则,请执行其他一些代码,然后返回abc。让我们先修复你的代码。

if (xyz != null) {
    return xyz; // Remember that after every statement, you need to have a semicolon.
} else {
    a = b;
    return abc;
}

您不需要在else块内编写if语句。知道了这一点,因为如果xyz不是null,你的代码就会结束,我们不需要在else语句中编写我们的代码,因为if块之后的代码独立于if阻止。那么,让我们修改你的代码。

试试这个:

if (xyz != null)
    return xyz; // Since it's only one line, brackets are optional.
a = b;
return abc;

如果您来自其他语言(即Lua),我强烈建议您阅读一些关于Java的语法教程。它会在以后为您节省很多挫折。我推荐以下Java Tutorials,并从头开始探索和阅读。这是获取语法基础知识的好方法,尤其是使用if语句。

编辑: 我被告知无括号条件可能会妨碍代码的可读性。以下是没有它们的一些替代方案:

if (xyz != null) {
    return xyz;
}
a = b;
return abc;

您也可以将if语句放在一行中,如下所示:

if (xyz != null) { return xyz; }
a = b;
return abc;