我不理解java中“if语句的返回”

时间:2016-01-15 07:50:41

标签: java if-statement return boolean boolean-expression

我有一个问题..... 今天我做了课程和方法。 在制作方法后,我发现了一个错误。 这是“如何使用'返回'?”。

什么代码错了? 我没有发现问题。

public boolean locking(){

    if (false)

        System.out.print("Open the door");

        return false;

    else

        System.out.print("Now lock the door");

        return true; //<- how can i express 'return'?

}

2 个答案:

答案 0 :(得分:4)

此代码错过了括号。因此,第一个if仅指第一个System.out,而不是return

尝试以下方法:

public boolean locking() {
    if (false) {
        System.out.print("Open the door");
        return false;
    } else {
        System.out.print("Now lock the door");
        return true;
    }
}

编辑:请记住,上面代码中定义的if条件绝对没有意义。因此,请确保始终比较某些内容,否则您将始终获得相同的结果。

知道使用return语句将退出方法也很重要,这意味着return下面的任何代码都不会被执行。这允许您省略if语句的else部分。因为当条件满足时,将执行第一次返回并离开方法,当不满足时,代码继续唯一的其他可能性。这使得代码更轻一些,但在使用多个if语句时会收到警告。

public boolean locking() {
    if (false) {
        System.out.print("Open the door");
        return false;
    }

    System.out.print("Now lock the door");
    return true;
}

答案 1 :(得分:0)

当您使用某些语句(if,for,...)时,如果要在(if)语句中使用多个语句,则应使用括号。

这是错误的(返回值不依赖于(if)语句):

if (false)
    System.out.print("Open the door");
    return false;

但这是真的(当你使用括号时):

if (false)
{
    System.out.print("Open the door");
    return false;
}

只需在{ your code }之后使用括号if