同じ行のif/else条件が機能しない

なぜこの作品はありませんか?

if (condition) stuff; return;
else otherStuff;

またはこれ

if (condition) stuff; return;
else {otherStuff;}

私は簡単にこれを修正することができます:

if (condition) {stuff; return;}
else otherStuff;

私は、if文がreturnを除外しない行全体をブロックすると考えました。

ベストアンサー

なぜなら、

if (condition) stuff; return;
else otherstuff;

if の条件には、 stuff という単一の文があります。

それには無関係な return ステートメントが続きます。

else は独自のものであり、法的Javaではありません。

セミコロンは、EOLではなく、文の終了記号です。ステートメントをブロックにするには、 {}
で囲む必要があります。そうでない場合は、ステートメントは で終了します。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です