
Javaを現在学習しているのですが、引数と戻り値の考え方がいまいち理解できません。そこで、引数と戻り値の考え方についてわかりやすく解説してほしいです。
今回の記事では、このような疑問に答えていきます。
本記事の信頼性

僕は、現在システムエンジニアとして某大手メーカーのシステム担当を行っています。
特にJavaは、数多くあるプログラミング言語の中でよく使っています。
そんな立場から、今回解説していこうと思います。
本記事を読むことで、下記のことがわかります。
本記事でわかること
- Javaにおける引数の意味や考え方とは
- Javaにおける戻り値の意味や考え方とは
- Javaで引数と戻り値を使った具体的な処理について
Javaを勉強する上で引数と戻り値の考え方をマスターできないとこの先厳しいです。
しかし、しっかりとマスターすることができれば、理解は容易になるので本記事で少しずつ学んでいきましょう。
それでは、記事の最後までお付き合いください。

本記事を読むことで引数と戻り値の考え方が丸わかりになります!!
ぜひ、最後まで読んでみてください。
【java】引数とは何!?

結論から言うと、引数はメソッドに渡すデータのことを言います。
例えば、あなたは下記のコードを見たことありますか!?
Int a = 10;
System.out.println(a);
特に注目していただきたいのは、2行目ですね。
2行目のコードの()の中にあるものが引数になります。
つまり、2行目のコードはint型の変数「a」を引数として出力するものです。
具体例を出すと少しは捉えやすくなったかと思います。
変数がわからない方はこちらへ

上記の記事では、変数の考え方や使い方について具体的な処理を使って解説してます!!
【java】引数は複数持つことも可能
先程の例では、引数は1つしかありませんでした。
しかし、引数は複数持つことも可能です。
例えば、下記のコードを見てみましょう。
public class Sample {
public static void main(String[] args) {
// 引数として整数を2つ渡す
num(50, 70);
}
// 2つの値を合計するメソッド
public static void num(int x, int y) {
int result = x + y;
System.out.println (“合計は” + sum + “です。”);
}
}
少し、複雑に見えるかもですが、そこまで難しくはありません。
注目していただきたい部分は、numメソッドを呼び出している部分です。
ここでは、numメソッドを呼び出す際に50と70の2つの値を渡しています。
このように、引数は1つだけではなく、複数の値を渡すことができます。
しかし、注意点もあります。
それは、呼び出す先のメソッドの引数の値も、同様に複数用意する必要があると言うことです。
今回の例だと、int xとint yの2つの変数が用意されてますよね。
仮にこれが、1つだけだと複数の引数を渡すことは不可能です。
これだけは注意しましょう。
【java】メソッドのオーバーロードの際に引数が大きく関係
本記事の内容とは少しずれるのですが、メソッドのオーバーロードの際に引数が大きく関係してきます。
そもそも、オーバーロードとはどう言う意味なのでしょうか。
オーバーロードとは、同名のメソッドを定義することを言います。
オーバーロードをすることで、1つのメソッドの名前を覚えておくだけでさまざまな処理が行えるため、このようなことを行います。
しかし、オーバーロードをする際は下記の2つに注意が必要です。
・引数の個数、順番が全く同じでないこと
・引数の型が全く同じでないこと
この辺りは頭の片隅に入れておくだけでもいいです。

とりあえず、オーバーロードについては初心者の方はそこまで深く覚えておく必要はないです。
こんなのもあるのかぐらいでいいです。
【java】戻り値とは何!?

結論から言うと、メソッド内で処理後、呼び出し元に戻る際に返す値のことです。
戻り値も引数と同様にこれだけだとわかりませんよね。
次のところで、戻り値の考え方について詳しく解説します。
【java】戻り値を返すときはreturn文を使う
戻り値を返すとき、基本的にはreturn文を使います。
例えば、下記のコードを見てみましょう。
// 戻り値11
return 11;
// 戻り値20
return 4*5;
1つ目の処理は、11を戻り値として返すと言うことを表します。
これは、結構オーソドックスな書き方ですね。
また、2つ目のように数式を使ってreturn文を書くこともできます。
2つ目は、戻り値として4×5を返す。
つまり、20を戻り値として返すことを表しています。
実際の業務だと、returnの後に変数を置いたりすることが多いかなと個人的には思いますね。
と言う感じで、戻り値はreturn文を使って値を返していきます。
【java】引数と戻り値を使って実際に処理を書いてみた

それでは、最後に本記事で学んだことを実際にコードとして書いていきます。
この記事を読んでいるあなたも復習のついでに読んでみてください。
処理内容としては、2つのメソッドを使った処理になります。
そして、本記事で学んだ引数や戻り値をこの2つのメソッドでは使っています。
それでは、見ていきましょう。
【java】引数を渡すメソッドと戻り値で返すメソッドの2つを用意
今回のソースコードの全体の概要はこんな感じ。
package myProject;
public class Main {
public static void main(String[] args) {
// int型の変数aを宣言
int a = 35;
// int型の変数cを宣言
int b = 40;
// メソッドnumに引数aとcを渡す
int result = num(a,b);
// 返された値を出力する
System.out.println(result);
}
public static int num (int num1 , int num2)
{
// 2つの引数をたす
int sum = num1 + num2;
// int型の変数sumを呼び出し元に返す
_return_ sum;
}
}
処理内容は、下記の通り。
・Mainメソッドで変数を宣言して、値を変数に代入
・numメソッドにその変数を渡して、2つの引数を足す
・その結果を戻り値として、呼び出し元に返す。
・戻り値として返された値を出力する。
大まかな流れは、このような感じになります。
Eclipseなどのツールがある方は、上記のコードをコピペしてデバッグしつつ、処理の流れを見てみてください。
実際に見てみると、int result = num(a,b);の後、numメソッドの処理に入っていることがわかります。
また、その際、引数aとbがnumメソッドに渡されていることがわかると思います。

eclipseはJavaでアプリケーションを作る際などに使うツールのことです。

上記はnumメソッドの引数の値を表示しています。
右の式を見てみると、numメソッドに35と40が渡されていることがわかるでしょう。

その後、戻り値を呼び出し元に返した後の値はresultという変数に入ります。
見てみると、75であることがわかります。
しっかりと戻り値が返されていますね。

出力すると、75が出ました。
手順に沿って考えてみると、そこまで複雑ではないことがわかりますよね。
もし、わからなかったという方がいたら本記事を何度も読み直してみてください。
【java】引数と戻り値の関係性は物の貸し借りに近い
引数と戻り値ときくと、何か小難しい感じが出てきますよね。
しかし、僕はこのようには考えていません。
では、どのように考えているのか。
それは、物の貸し借りに例えて考えるといいです。
今回のコードに例えてみましょう。
Mainメソッドとnumメソッドの間で物の貸し借りが行われたとします。
最初にMainメソッドがnumメソッドに対して物を貸します。
これが、引数のaとbですね。
それをnumメソッドがnum1とnum2という形で受け取ります。
そして、num1+num2を行い、それをMainメソッドに返します。
要するに借りたものを返したのと同じような感じです。
どうでしょうか。
物の貸し借りで説明ができたのではないでしょうか。
こんな感じで、引数と戻り値は物の貸し借りに例えて考えてみるのが効果的です。
他にも考え方はありますが、あなたがわかりやすい方法で学習してみるのも1つの手だと思います。
ぜひ、参考にしてみてください。
それでは、まとめに入ります。
【java】引数と戻り値の考え方を現役エンジニアが徹底解説!!:まとめ
最後に一つあなたに言いたいことがあります。
それは、引数と戻り値の考え方がしっかりと身につけられると、Javaの基礎的なベースはしっかりと作ることができるということです。
Javaはプログラミング言語の中では結構難しい部類になります。
そして、何が難しいのか考えたとき、最初に挙げられるのが引数と戻り値の捉え方や考え方ですね。
僕はこの辺りがとても苦手であったため、とても理解に苦しみました。
しかし、逆にこの辺りを理解できると1つのハードルをクリアできます。
当サイトでは、Javaでつまづくポイントを簡単に噛み砕いて解説しているので、ぜひ他の記事も読んでみてください。
また、Twitterでもエンジニア向けの情報やスキルアップする方法を発信しています。
ぜひ、フォローよろしくです。
それでは、この辺りで終わろうかと思います。
関連記事も合わせてどうぞ。
コメント