戻り値について vol.30
前回は引数について説明した。今回は戻り値について。
public static 戻り値の型 メソッド名(引数リスト){
実行文
}
staticの後の部分だ。いつもはここをvoidにしている。
その部分について説明していこう。
1.戻り値とは
戻り値とはざっくりいうと、メソッドを呼び出し、そのメソッドの処理が終わったときに値を返してくれること。
詳しく説明していこう。
引数では、値を渡すことができた。戻り値とはメソッドを呼び出した後に処理を行い、値を返してくれるもののこと。
戻り値は、データ型で指定してそのデータ型の値を返してくれる。値を受け取るために、そのデータ型に合う変数を呼び出す側のメソッドで宣言する。
どのようのな構文になるのか書いてみよう。
2.戻り値の書き方
呼び出す側
データ型 変数名 = 呼び出すメソッド名(引数);
呼び出される側
public static 戻り値の型 メソッド名(引数リスト){
実行文
return 戻り値 ⇐戻り値の型と同じデータ型変数
}
returnで値を返してくれる。返す値はpublic static 後の戻り値の型とデータ型を合わせる。戻り値の型がString型であればreturnの後ろにString型の値を返す。
int型であればreturnの後ろにint型の値を返す。
受け取る側は戻り値の型がString型であれば、String型の変数を宣言し戻り値を受け取る。
実際に例を出そう。
3.実際に書いてみよう
引数で10と50を渡して足し算させる文を作ろうと思う。
できればどういった流れでコンソールに表示させるか、考えながら見てほしい。
public static void main(String[] args) {
int ans = add(10 , 50);
System.out.println(ans);
}
public static int add(int x , int y) {
int answer = x + y;
System.out.print("10 + 50 = ");
return answer;
}
コンソールに表示させる前に流れを書いていこう。
int ansで戻り値を受け取る準備をし、addメソッドに引き数を渡し呼び出している。
addメソッドの実行文のところに入る。xには10、yには50が引数で入った。
足し算をし変数answerには60が入った。
System.out.print("10 + 50 = ");で改行無しで、コンソールに表示させreturnでanswerをmainメソッドの変数ansに返す。
コンソールに先に改行無しの10 + 50 =が表示されているため、そのあとにansの値がコンソールに表示される。
実際にコンソールに表示させると
10 + 50 = 60
となる。
addメソッドにSystem.out.print("10 + 50 = ");を書いたが、mainメソッドにSystem.out.println("10 + 50 = " + ans);と書いても結果は同じ。
これがint型が戻り値の場合の書き方だ。String型の場合も受け取る側の変数を合わせてString型の戻り値を返してあげるだけ。
これが、戻り値の書き方だ。
例えば呼ばれる側のメソッドでreturnと戻り値を書かないとエラーになる。
このようにメソッドから引数にかけて赤い波線が出ているが、returnと戻り値を書いてというエラーだ。
ここで思うことがあると思う。
今まで使用していた戻り値のvoidではreturnしなくてもエラーなっていなかった。なぜ?
4.voidについて
voidとは、何なのか。
今まで使っていてなんとなく想像できるかもしれないが、voidとは戻り値無しということ。voidは「何もないという意味」戻り値がいらない場合はvoidを使用する。
今回は以上。
では、また次回
元体育会系文系エンジニア石黒