>>165-166
詳細に解説いただき、ありがとうございます
帰宅したので回答いただいたことを踏まえて色々と弄ってみたのですが

例えば、

if (condition1) {
System.out.print("true");
} else if (condition2) {
System.out.print("false");
}

このようにした場合はエラーにならなかったので、
今回のエラーの現象はif文がどうこうではなく、returnの問題、
すなわち、(表現が適切でないかもしれませんが)
if文のブロック内の詳細な条件の処理が行われる前に、return文によって、各ケース全てがfalseになる可能性がないことが確認されるために起きるエラーという理解でいいでしょうか?

てっきり外側に書かれている処理が常に先に実行されるものだとばかり思っていましたが、そういうわけではないということでしょうか…