Javaのvoidメソッドとは?メソッド戻り値の定義方法を学ぶ
  • facebookページ
  • twitterページ
  • 2021.03.19

    Javaのvoidメソッドとは?メソッド戻り値の定義方法を学ぶ

    Javaを最初に勉強する時、ほとんどの人は次のような「Hello World」プログラムから始めたのではないでしょうか?

    メソッドの戻り値に指定されている voidの意味などは、最初は気にしていなかったかもしれませんが、Javaを学習する上で voidの理解は必須です。

    この記事では、Javaの voidについての解説や、メソッドの定義方法などについて解説していきます。

    voidとは?

    Javaでメソッドを定義するときは、メソッド名・引数・戻り値の3つを指定して宣言をします。この時、メソッドの戻り値の型に voidを指定すると、そのメソッドは値を返さないメソッドとして定義されます。

    voidとは「何もない」という意味で、Javaではメソッドの戻り値のみに指定できる特別な型として存在します。戻り値が voidとして宣言されたメソッドは、 return時には何も値をかえしません。(逆に return時に値を戻すとコンパイルエラーとなる)

    戻り値がないメソッド(voidメソッド)

    このように、 voidは戻り値がないメソッドで指定する特別な型です。戻り値が voidで宣言されたメソッドは、メソッド内で必要な処理を行い、戻り値を変えささずにメソッドを抜けるのが基本的な実装です。

    returnキーワードでメソッドを抜けることも可能で、その時は returnのみを指定し、戻り値は指定しません。この時に returnには戻り値は指定しません。

    voidで戻り値がないメソッドとして宣言されている場合は、 returnで戻り値を返す処理を書いてしまうとコンパイル時にエラーとなります。

    voidメソッドの呼び出し

    先述したように、 voidは戻り値がないメソッドであるため、 voidメソッドを呼び出す場合は、次のサンプルコードのように戻り値の変数を指定せず、メソッドの呼び出しを行います。

    void以外のメソッド(戻り値があるメソッド)

    戻り値がない voidメソッドの作り方について解説してきましたが、今度は、戻り値があるメソッドの定義方法を見ていきましょう。

    戻り値があるメソッドは、次の構文の通り、メソッド名の前に戻り値の型を指定します。

    実際にいくつか戻りの宣言を行ったメソッドを作ってみましょう。

    次のサンプルコードは intの値を返すメソッドです。戻り値の型を intに指定し、メソッド内の returnintの値を戻します。

    戻り値の型を指定しるにもかかわらず、メソッド内の処理で returnで値を戻していない場合は、コンパイル時にエラーになります。

    分岐がある時のreturn時の注意点

    戻り値が定義されたメソッドで、処理内部に ifなどの分岐がある場合、すべての条件分岐で値を returnする必要があります。もし、一部の分岐だけ値を返す returnが抜けている場合、 returnを指定しなかった時と同じコンパイルエラーが発生します。

    次のサンプルコードは、引数で渡された scoreの値を点数ごとに評価した文字列を返すメソッドです。 scoreの値が50点以上の場合は returnで結果を返していますが、50点未満の場合はどの分岐にも入らず値が戻されなくなるため、このコードはコンパイルエラーになります。

    コンパイルエラーにならないためには、どの条件分岐を辿ったとしても値が戻されるようにコードを修正する必要があります。

    まとめ

    javaの voidは、戻り値がないメソッドを表す特別な型であることや、戻り値があるメソッドの定義方法や注意点について解説してきました。

    voidは、Javaのみならず、C++やC#などの言語でも使用されるキーワードで、基本的にはJavaと同じような用途で使用するため是非 voidキーワードについて理解を深めておきましょう。

    この記事のまとめ
    • voidは戻り値がないメソッドを宣言するときに、戻り値の型として指定する
    • voidで定義されたメソッドで戻り値を返そうとするとコンパイルエラーになる
    • intStringなどの戻り値があるメソッドは、メソッド内で必ず戻り値を返す必要がある

    リストで記述すると上記のように表示されます。

    【関連記事】
    【Java】アクセス修飾子privateの使い方【クラス・メソッド・フィールド



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE