1. ホーム
  2. java

[解決済み] Javaではif文は冗長である

2022-02-08 19:12:18

質問

NetBeansで"The if statement is redundant"と表示されるのですが。

この2つがどのように等しいのか知りたい

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を返すのかがわかりません。どの条件も満たされない場合、単にfalseを返すだけなのでしょうか?

解決しました。問題の捉え方を間違えていました。falseを返すには、それぞれの条件文がfalseでなければならない。理想的には、return文が等価であれば、falseを返します。

return false || false || false || false || false;

であり、いずれかの条件を満たした場合に真となる

return false || false || false || false || true;

みんなありがとう、本当に助かった。

どのように解決するのですか?

2つの文は同じものです。

int x = #; //user input
if (x==1) {  //any condition resulting in a true or false
    return true;
} else {
     return false;
}

そして

return (x==1); //same thing, returning true if true, false if false;