パソコン作法

情報系の紹介をします

【Java】メソッドの戻り値、返り値とは

戻り値、返り値って何だろうと疑問に思うそこのあなた。
その疑問を解消できるように詳しく解説します。

 

1.戻り値、返り値とは

戻り値、返り値(以下、戻り値)とは、void型以外のメソッドを作るときに必要なものです。
そのメソッドの型と同じ型の戻り値を設定しなければいけません。戻り値があるメソッドを呼び出すときは、変数に代入する必要もあります。詳しいことは「2.戻り値を使う例」に書くのでそちらをご覧ください。

補足・・・メソッドの型と引数は関係ありません。

メソッドを作るときは、public void tasizen(int a){~}やint hikizan(String b){~}などのように書きますよね?このときメソッドの型を指定しますが、voidと書き込まれていないものが戻り値を必要とします。

void以外に戻り値を使う型は以下の通りです。

  • int
  • long
  • double
  • String
  • char
  • boolean

他にもobjectやfloatなどがありますが、これらの型を使ったメソッドはほとんど作らないので覚えなくてもOKです。

2.戻り値を使う例

例として、keisanメソッドを下に書きます。

public  int  keisan(int  x){
    y = x + 50;
    return  y;
}

このメソッドは、引数に50を加えたものを戻り値としています。
戻り値を書かないとコンパイルエラーが起きます。

このメソッドを使用するには、次のように変数に代入しなければいけません。

c = keisan(a);

これらを組み合わせて、変数cに入っている数字を表示するコードを書くと、次のようになります。

public  class  Main{
    public  static  void  Main(String  args){
        int  a = 30;
        int  c = keisan(a);
        System.out.println(c);
    }
    public  int  keisan(int  x){
        int  y = x + 50;
        return  y;
    }
}

このコードを実行すると、「80」と表示されます。

簡単に説明をしますと、4行目の「int  c = keisan(a);」は、keisanメソッドを呼び出し、aの値をkeisanメソッドの引数xに入れ、yにxと50を足した値が入り、そのyの値をcに代入しています。

もし、7行目のpublic  int  keisan(int  x)のintの部分がvoidやStringだったらコンパイルエラーになります。
なぜなら、voidなら戻り値があってはいけませんし、Stringなら戻り値が文字でなくてはいけないので、整数が入る変数yを戻り値に入れるとエラーが起こるからです。

上記のコードと同じ処理をvoid型のメソッドを使って表すと次のようになります。

public  class  Main{
    public  static  void  Main(String  args){
        int  a = 30;
        keisan(a);
    }
    public  int  keisan(int  x){
        int  y = x + 50;
        System.out.println(y);
    }
}

とりあえず大事なことは、メソッドの型と戻り値の型を一致させることです。

3.まとめ

一番大事なのは、int型のメソッドなら戻り値を整数に、String型のメソッドなら戻り値を文字に、double型のメソッドなら戻り値を少数に、というようにメソッドの型と戻り値の型を一致させることです。

戻り値は、覚えるのにつまずきやすいところなので気をつけましょう。