Java の戻り値
1. 戻り値とは?
これまでのチャプターでは、すべての例で void キーワードを使用してきました(例:static void myMethod())。void は、そのメソッドが呼び出し元に値を返さないことを示しています。
メソッドの実行結果(計算結果など)を呼び出し元で再利用したい場合は、void の代わりに プリミティブデータ型(int や char など)を指定し、メソッド内で 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));
}
}
// 出力: 82.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));
}
}
// 出力: 83. 結果を変数に格納する
メソッドの戻り値は、直接出力するだけでなく、変数に代入して保持するのが一般的です。この方がコードの可読性が高まり、後のメンテナンスも容易になります。
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));
}
}
}