Javaに限らずメソッドを利用するとき、何かの値を入力して何かの値を出力したいというときは多い。
値の入力には引数を使うが、出力にはreturnを使う。また、returnは処理の中断にも使える。
このページではJavaメソッドのreturn文の使い方についてお伝えしよう。
目次
メソッドのreturn文の使い方
return文は関数から値を返すことに使われるのが印象として多いだろう。
それだけではなく、Javaのメソッドの処理を中断することができる。条件文と合わせて使うと指定した場所で処理の制御を行うことができたりする。もともとの意味合いは、呼び出したメソッドから元のメソッドに「戻る」という意味合いだ。
例えば、1個あたりの果物の値段を計算するメソッドで引数として指定された果物の数が0以下であれば、その数に問題があることは明らかだ。このような場合、returnによって計算処理を中断して戻ることができる。
では、サンプルプログラムで確かめてみよう。
メソッドのif文からreturn命令文で戻るサンプルプログラム
このプログラムは、引数として渡された果物の値段と個数から果物1個あたりの値段の計算を行うプログラムだ。
ただし、個数が0以下のときはメッセージを出して、計算処理を中断する。個数が0以下の場合と1以上の場合のプログラムの動きを、実行結果から確かめてほしい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class ReturnFromIfStatement { public static void main(String[] args) { calculatePrice(3,100);//[1] System.out.println("[2] 計算の終わり"); calculatePrice(-1,200);//[3] System.out.println("[4] 計算の終わり"); } private static void calculatePrice(int number,int price) {//[5] if(number < 0){//[6] System.out.println("[7] 個数の値:" + number + "がマイナスです。"); return;//[8] } System.out.println("[9] 果物1つの値段 :" + price/number);// } } |
実行結果
1 2 3 4 |
[9] 果物1つの値段 :33 [2] 計算の終わり [7] 個数の値:-1がマイナスです。 [4] 計算の終わり |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1] メソッド:calculatePriceを個数:3、値段:100円の引数で呼び出す。
- [2] 「計算の終わり」を表示する。
- [3] メソッド:calculatePriceを個数:-1、値段:200円の引数で呼び出す。
- [4] 「計算の終わり」を表示する。
- [5] メソッド:calculatePriceの定義をする。
- [6] もしnumberがマイナスならば
- [7] 「個数の値がマイナスです。」を表示する。
- [8] 計算処理を中断して戻る。
- [9] 果物1つの値段:price/numberを表示する。
メソッドのループからreturnで戻るサンプルプログラム
次のサンプルプログラムは、どこでもメソッドがreturn命令文に出会うとそのメソッドから戻ることを示している。
メソッドの中のreturn命令文は、深いところにある。ループの中の、さらにswitch文の中にある。どこからでも戻れるのだ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public class ReturnFromForLoop { public static void main(String[] args) { forLoop();//[1] } private static void forLoop(){//[2] for(int number = 1;number <= 10;number++){//[3] System.out.println("[4] number:" + number); switch(number) {//[5] case 1://[6] case 2://[7] continue;//[8] case 3://[9] return;//[10] default://[11] break;//[12] } } } } |
実行結果
1 2 3 |
[4] number:1 [4] number:2 [4] number:3 |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1] 値を戻すメソッド:forLoopを呼び出す。
- [2] メソッド:forLoopの定義をする。
- [3] 変数numberをループの中で1から10までカウントアップする。
- [4] 変数numberを表示する。
- [5] [6] [7] [8] numberが1又は2のとき、continueする。
- [9] [10] numberが3のとき、returnする。
- [11] [12] それ以外のとき、breakする。
まとめ
このページではJavaメソッドのreturnの使い方についてお伝えをしてきた。次のふたつの使い方がある。
- メソッドを通した後の値を返す
- 処理を中断して元の処理に戻る
いずれも必ず使うので、使い方を理解しておこう。