【发布时间】:2016-04-28 06:19:36
【问题描述】:
我在 NetBeans 上收到一个灯泡说“if 语句是多余的”
我想知道这两者是如何相等的
public boolean isVowel(char in)
{
char temp = Character.toLowerCase(in);
if (temp == 'a' || temp == 'e' || temp == 'i' || temp == 'o' || temp == 'u')
{
return true;
}
else
{
return false;
}
}
和
public boolean isVowel(char in)
{
char temp = Character.toLowerCase(in);
return temp == 'a' || temp == 'e' || temp == 'i' || temp == 'o' || temp == 'u';
}
我可以看到如果其中一个元音与 temp 匹配,它将如何返回 true。但是,我没有看到它会如何返回错误。如果不满足任何条件,它会简单地返回 false 吗?
已解决:我以错误的方式看待问题。要让它返回假,每个条件语句都必须是假的。理想情况下,如果 return 语句等同于:
return false || false || false || false || false;
如果满足任何一个条件则为真
return false || false || false || false || true;
谢谢你们,真的很有帮助。
【问题讨论】:
-
是的,因为表达式
temp == 'a' || temp == 'e' || temp == 'i' || temp == 'o' || temp == 'u'的结果将是false... -
啊,我现在明白了。如果要返回 false,则每个条件都必须等于 false。我以错误的方式看待问题。
标签: java if-statement return conditional-statements