「打ち切りreturn」と「早期return」の違いをわかりやすく解説!
こんにちは。ゆうせいです。
Javaのコードを書いていると、「return」を使って処理を終了させることがありますよね。しかし、その中でも 「打ち切りreturn」 と 「早期return」 という概念が登場します。どちらも 「returnで処理を終了させる」 という点は同じですが、意味や使い方が異なります。
このブログでは、それぞれの違いを 具体的なコード例 とともに解説します!
1. 「打ち切りreturn」とは?
「打ち切りreturn」とは、処理の途中で return を使い、現在のメソッドの実行を終了させること を指します。
主に 「特定の条件を満たしたら、それ以降の処理を実行しない」 という意図で使います。
例:配列の中に特定の値があったら、すぐに終了する
public class Main {
public static void main(String[] args) {
int[] numbers = {1, 3, 5, 7, 9};
findNumber(numbers, 5);
findNumber(numbers, 2);
}
public static void findNumber(int[] array, int target) {
for (int num : array) {
if (num == target) {
System.out.println("見つかりました: " + target);
return; // ここで処理を打ち切る
}
}
System.out.println("見つかりませんでした: " + target);
}
}
実行結果
見つかりました: 5
見つかりませんでした: 2
なぜ return を使うのか?
return
を使わなかった場合、すべての要素を最後までチェックすることになり、不要な処理が走る可能性があります。return
を使うことで、不要なループを防ぎ、無駄な計算を避けられる のがメリットです。
2. 「早期return」とは?
「早期return(early return)」は、メソッドの冒頭で特定の条件を満たしたら処理を終了し、後続の処理を行わないようにすること です。
例:引数が null の場合、すぐに return する
public class Main {
public static void main(String[] args) {
printName("田中");
printName(null);
}
public static void printName(String name) {
if (name == null) {
System.out.println("名前が null です。処理を終了します。");
return; // ここで処理を終了
}
System.out.println("こんにちは、" + name + " さん!");
}
}
実行結果
こんにちは、田中 さん!
名前が null です。処理を終了します。
早期returnを使うメリット
- ネストが浅くなり、コードの可読性が向上する
- 不要な処理を省ける
- 異常なケースを最初に排除できる
例えば、次のようなコードでは、ネストが深くなって可読性が悪くなります。
public static void printName(String name) {
if (name != null) {
System.out.println("こんにちは、" + name + " さん!");
} else {
System.out.println("名前が null です。処理を終了します。");
}
}
この場合、「まず異常ケースをチェックして return する」 ことで、よりシンプルに書けます。
3. 「打ち切りreturn」と「早期return」の違いまとめ
比較項目 | 打ち切りreturn | 早期return |
---|---|---|
意味 | 途中で処理を打ち切る | 早い段階で処理を終了する |
目的 | これ以上処理が不要なら止める | 異常ケースを最初に排除する |
使う場所 | ループや条件分岐の途中 | メソッドの最初 |
コードの効果 | 無駄なループや処理を減らす | ネストを浅くして可読性を上げる |
4. どちらを使うべきか?
✅ 異常ケースを最初にチェックして処理を省略したい → 早期return
✅ ループや処理の途中で、特定の条件を満たしたら終了したい → 打ち切りreturn
実際の開発では、「早期return」と「打ち切りreturn」の両方を適切に使い分けることで、可読性が高く、無駄のないコード を書くことができます!
5. まとめ
- 「打ち切りreturn」 は処理の途中で終了し、無駄なループや計算を避ける。
- 「早期return」 はメソッドの最初で異常ケースを排除し、ネストを浅くする。
- どちらも「無駄な処理を減らす」ことが目的 だが、適用するタイミングが異なる。
これらを意識すると、スッキリしたコード を書けるようになります!
今後Javaのコードを書くときは、「この return は早期return?それとも打ち切りreturn?」と意識してみてくださいね!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
新入社員2025年3月11日「打ち切りreturn」と「早期return」の違いをわかりやすく解説!
新入社員2025年3月11日Eclipseで既存プロジェクトをワークスペースへインポートするとコピーが作成されるのか?
マネジメント2025年3月11日【会社役員向け】事前確定給与とは?仕組みや注意点をわかりやすく解説
新入社員2025年3月11日SpringとSpring Bootの違いとは?初心者向けにわかりやすく解説!