public boolean percentDepreciatedOutOfRange() {
    if (percentDepreciated < DEPRECIATION_MIN || percentDepreciated > DEPRECIATION_MAX) {
        return true;
    }
    else {
        return false;
    }
}


上面的代码可以在没有else语句的情况下编写,而在if语句之后仅包含return false;并仍然具有相同的结果吗?如果是这样,为什么?这就是我的意思

public boolean percentDepreciatedOutOfRange() {
    if (percentDepreciated < DEPRECIATION_MIN || percentDepreciated > DEPRECIATION_MAX) {
        return true;
    }
    return false;
}

最佳答案

你应该写

public boolean percentDepreciatedOutOfRange() {
    return percentDepreciated < DEPRECIATION_MIN || percentDepreciated > DEPRECIATION_MAX);
}


更具可读性。避免像

If (xxx) { return true; }
else { return false; }


因为if只会在表达式周围增加噪音。

之所以合法,是因为布尔类型在计算if表达式和方法的返回类型时是相同的。

07-27 20:11