if 文は条件式が boolean 値(true または false)を返すかどうかに基づいて処理を分岐し、else if や else を組み合わせることで複雑な範囲条件や複合条件を表現します。
一方 switch 文は、単一の変数や式の「値」を複数の case と比較して合致するブロックへ分岐します。
Java SE 12/14以降、アロー構文(->)や値を返す「switch式(switch expression)」、さらにJava 17でのパターンマッチングなどのモダンな強化が行われており、Java Silver試験でも重要テーマとなっています。