【Java初心者】戻り値の仕組みと使い方
戻り値の仕組みと使い方についての解説と戻り値を使用するときの注意点について、
図や実際のコードを用いてしっかり説明していきます。
戻り値とは
戻り値は、呼び出し先のメソッドから呼び出し元のメソッドに対して返す値です。
メソッドは、ソースコードを機能ごとに分割して扱いやすくする仕組みです。
メソッド同士は互いに呼び出し合って自身の処理の最中に
別のメソッドの処理を行うことができます。
呼び出しと同時に呼び出し元から呼び出し先へ引数というデータを渡して
そのデータを呼び出し先で利用することができます。
呼び出し先のメソッドで引数を利用して処理を行った後に
その処理結果を呼び出し元で把握したり、使用できないのは非常に不便です。
そこで登場するのが戻り値です!戻り値を利用することによって、
呼び出し先のメソッドで行った処理の結果を用いて呼び出し元のメソッドで使用したり、
あるいはその値をまた別のメソッドの引数として渡したりすることが可能です。

メソッドの使い方と引数の正体と使い方についても解説していますので
ぜひそちちらの記事もご覧ください!
戻り値の返し方
呼び出し先メソッドから呼び出し元のメソッドに戻り値を返す方法について
まずは実際の文法を見ていきます。
下記コードでは、mainメソッドのint型変数a,bをmethodAに渡して
a,bの合計をcに代入しcの値を戻り値としてmainメソッドに返しています。
public static void main(String[] args) {
int a = 1;
int b = 2;
methodA(a);
}
public static int methodA(int a, int b) {
int c = 0;
c = a +b;
return c;
}
戻り値を返す際には、戻り値のデータ型の指定とreturn文を使用します。
return文は戻り値を返すための文法です。
以下のように、呼び出し先メソッドの処理の最後でreturnの後ろに値を書くことで
その値を呼び出しき元メソッドに返すことができます。
戻り値のデータ型は整数、文字列、配列などどんな型でも返すことができます。
戻り値に使用するデータ型はメソッドを作成する際にメソッド名の前に記載します。
注意しなくてはいけないのは、メソッド宣言時に指定した戻り値の型と
returnで返す戻り値のデータ型は必ず一致しなくてはならないという点です。
public static 戻り値の型 メソッド名(引数) {
処理
return 値;
}
また、戻り値を返さない場合のメソッドで指定している
voidは戻り値を何も返さないということを示しています。
戻り値の受け取り方
呼び出し元メソッドでの戻り値の受け取り方について解説していきます。
戻り値を受け取る際には、呼び出し元で戻り値を受け取る変数を用意し、
その変数に戻り値を代入します。
その方法はとても簡単で、メソッド呼び出しの式を変数に代入するだけです。
メソッドを呼び出して戻り値を受け取る場合、そのメソッド呼び出し式は戻り値に変身します。
public static void main(String[] args) {
int a = 1;
int b = 2;
int result = 0;
result = methodA(a);
}
public static int methodA(int a, int b) {
int c = 0;
c = a +b;
return c;
}
上記コードでは以下のような手順で処理がされており、
厳密にはメソッド呼び出し式が変数に代入されていますが、
「変数 = 戻り値;」といったように変数に戻り値がそのまま代入されると
イメージするとわかりやすいかもしれません。

当然のことですが、呼び出し先メソッドの戻り値の型と
呼び出し元で用意する戻り値を受け取る変数のデータ型は必ず一致しなくてはいけない
という点には十分注意して戻り値を扱いましょう!
まとめ
戻り値とはどんなものであるか、実際の使い方はイメージできたでしょうか?
戻り値の特徴について最後に以下にまとめます。
- 呼び出し先のメソッドでの処理結果を呼び出し元に返すための値
- メソッド宣言時の戻り値の型 = 実際の戻り値の型 = 呼び出し元の受け取り変数の型
戻り値はJavaの開発を行う際には、メソッドや引数とセットで
必ず必要な知識となりますので、使い方を覚えて実用的に使用してみてください!
戻り値を使用する際の注意点やreturn文の役割についても
記載しているのでそちらの記事も是非ご覧ください!
【Java初心者】戻り値を使用する際の注意点
以上、参考になった方もならなかった方もみなさんありがとうございました!
-
前の記事
【Java初心者】引数の仕組みと使い方 2021.03.11
-
次の記事
【Java初心者】戻り値利用時の注意点 2021.03.18