ネストと複合条件のどちらを選ぶべきか:書き方の工夫
if文は「条件分岐」を書くための基本ですが、ネスト(入れ子)と複合条件(&&や||)のどちらを使うかでコードの読みやすさが大きく変わります。
ネストを選ぶとき
- 段階的に条件を絞り込みたいとき
→ 「まず大きな条件を確認して、その中でさらに細かい条件を判定する」流れが自然。 - 条件ごとに異なる処理をしたいとき
→ 外側の条件がtrueなら、内側でさらに分岐する。
例:成績判定(段階的に判定)
if (score >= 70) {
if (homeworkSubmitted) {
System.out.println("合格");
} else {
System.out.println("宿題未提出なので不合格");
}
} else {
System.out.println("点数不足で不合格");
}
Java👉 「点数が合格ラインかどうか」をまず判定し、その中で「宿題提出済みかどうか」をさらに判定。
読み手に“段階的な流れ”を伝えたいときはネストがわかりやすい。
複合条件を選ぶとき
- 条件を一度にまとめて判定したいとき
→ 「両方の条件を満たすなら〜」のように、シンプルに書ける。 - 処理が単純で、条件が複雑すぎないとき
→ ネストを避けてコードを短くできる。
例:成績判定(複合条件でまとめる)
if (score >= 70 && homeworkSubmitted) {
System.out.println("合格");
} else {
System.out.println("不合格");
}
Java👉 ネストを使わずに「点数と宿題提出」を一度に判定。
条件がシンプルなら複合条件の方が読みやすい。
使い分けの指針
| 状況 | ネストを使う | 複合条件を使う |
|---|---|---|
| 段階的に条件を確認したい | ✅ | ❌ |
| 条件が複雑で処理が多い | ✅ | ❌ |
| 条件がシンプルで処理が少ない | ❌ | ✅ |
| 読み手に「流れ」を伝えたい | ✅ | ❌ |
| 短くスッキリ書きたい | ❌ | ✅ |
書き方の工夫
- ネストが深くなりすぎると読みにくい → 複合条件にまとめるか、メソッドに切り出す。
- 複合条件が長くなりすぎると理解しづらい → ネストに分けて「段階的に説明」する。
- 可読性を優先 → 「自分が後で読んだときに理解しやすいか」を基準に選ぶ。
✅ まとめ
- 流れを強調したいならネスト
- シンプルに書けるなら複合条件
- どちらを選ぶかは“読みやすさ”が最優先
