Java 速習チュートリアル

Java の戻り値

1. 戻り値とは?

これまでのチャプターでは、すべての例で void キーワードを使用してきました(例:static void myMethod())。void は、そのメソッドが呼び出し元に値を返さないことを示しています。

メソッドの実行結果(計算結果など)を呼び出し元で再利用したい場合は、void の代わりに プリミティブデータ型intchar など)を指定し、メソッド内で return キーワードを使用します。

2. return キーワードの使い方

メソッドが値を返すようにするには、定義部分に型を明示し、処理の最後で return を記述します。

2.1 基本的なコード例

以下のメソッドは、引数 x に 5 を足した結果を返します。

public class Main {
  // 戻り値の型として int を指定
  static int myMethod(int x) {
    return 5 + x;
  }

  public static void main(String[] args) {
    // 戻ってきた値(8)を直接出力
    System.out.println(myMethod(3));
  }
}
// 出力: 8

2.2 複数のパラメータを扱う例

2つのパラメータを足し算して、その合計を返すこともできます。

public class Main {
  static int myMethod(int x, int y) {
    return x + y;
  }

  public static void main(String[] args) {
    System.out.println(myMethod(5, 3));
  }
}
// 出力: 8

3. 結果を変数に格納する

メソッドの戻り値は、直接出力するだけでなく、変数に代入して保持するのが一般的です。この方がコードの可読性が高まり、後のメンテナンスも容易になります。

3.1 推奨される記述パターン

public class Main {
  static int myMethod(int x, int y) {
    return x + y;
  }

  public static void main(String[] args) {
    // 戻り値を変数 z に格納
    int z = myMethod(5, 3);
    System.out.println(z);
  }
}

4. 実践的な活用例:数値倍増ゲーム

ループ処理と戻り値のあるメソッドを組み合わせた、より実践的な例を見てみましょう。1から5までの数値を順に2倍にして表示するプログラムです。

4.1 数値倍増プログラム

public class Main {
  // 数値を2倍にして返すメソッド
  static int doubleGame(int x) {
    return x * 2;
  }

  public static void main(String[] args) {
    for (int i = 1; i <= 5; i++) {
      // ループ変数 i をメソッドに渡し、戻り値を表示
      System.out.println(i + " の2倍は " + doubleGame(i));
    }
  }
}