見出し画像

Java:returnの使い方

※自分用学習メモです

まとめ

  • return; は戻り値のない void メソッドで使い、メソッドの処理を途中で終了させます。

  • return 値; は戻り値のあるメソッドで使用し、指定した値を呼び出し元に返します。

  • 条件による早期終了にも return; を利用することができます。

return 文は、メソッドの実行を制御し、必要なタイミングで処理を終わらせたり、値を返したりするのに重要な役割を果たします。


return; は、Javaにおけるメソッドからの「戻り」の操作を指示するための文です。メソッドの実行を終了して、呼び出し元に戻る際に使用します。return; を使う状況や書き方には以下のポイントがあります。

1. return; の使い方

return; は 戻り値がないメソッド、つまり void メソッドの中で使用します。メソッド内で return; を使うと、そこでメソッドの実行が終了し、即座に呼び出し元に制御が返されます。

例:void メソッドでの return;

public class Main {
    public static void main(String[] args) {
        testMethod();
    }

    public static void testMethod() {
        System.out.println("このメッセージは表示されます。");
        return;  // ここでメソッドの実行が終了します
        // System.out.println("このメッセージは表示されません。"); // この行は実行されません
    }
}

上記の例では、return; によって testMethod() の実行が終了し、その後のコードは実行されません。


2. 戻り値のあるメソッドでの return

もし、戻り値のあるメソッド(例えば、int や String 型を返すメソッド)の場合、return に続けて 返したい値 を指定します。

例:戻り値があるメソッドでの return

public class Main {
    public static void main(String[] args) {
        int result = add(5, 3);
        System.out.println("結果は: " + result);
    }

    public static int add(int a, int b) {
        return a + b;  // 計算した結果を返す
    }
}

この場合、return a + b; は a + b の結果をメソッドの呼び出し元に返します。


3. return; と return 値; の違い

  • return; は void メソッドで使い、何も返さずにメソッドを終了します。

  • return 値; は、値を返すメソッド(非 void メソッド)で使い、その値を返します。

例:違いの比較

public class Main {
    public static void main(String[] args) {
        voidMethod(); // 戻り値はない
        int result = returnMethod(); // 戻り値がある
        System.out.println("戻り値: " + result);
    }

    public static void voidMethod() {
        System.out.println("void メソッドが実行されました");
        return;  // 戻り値なしで終了
    }

    public static int returnMethod() {
        return 42;  // 42を返す
    }
}

4. 早期終了としての return

return; は、メソッドの途中で条件を満たした場合に、処理を即座に終了させるためにも使います。以下のように、条件によって処理を終了する際にも役立ちます。

例:条件による早期終了

public class Main {
    public static void main(String[] args) {
        checkNumber(0);
        checkNumber(10);
    }

    public static void checkNumber(int number) {
        if (number == 0) {
            System.out.println("0です。終了します。");
            return;  // ここでメソッドが終了する
        }
        System.out.println("0ではありません。数値: " + number);
    }
}

この例では、number が 0 の場合は、return; によりメソッドが早期に終了します。

この記事が気に入ったらサポートをしてみませんか?