Javaの引数について基本的な考え方。参照渡しの注意点も解説
引数はプログラムを組む上で重要な要素です。引数の理解を曖昧にしておくと、Javaを扱うのが難しくなります。ここでは、引数に対する基本的な考え方について解説します。引数の扱いや参照渡しについて、理解を深めましょう。ジョブサポートでは個別指導で通年Java研修を行っており基礎をしっかり学ぶ事ができます。興味のある方はご相談下さい
目次[非表示]
Javaの引数(ひきすう)はメソッドに渡すデータ
プログラムにおいて、「この値を使ってデータを処理して欲しい」というときに、渡す値のことを引数(ひきすう)といいます。ジョブサポートのJava研修を受講している方が躓くポイントの一つです。
若手、新人エンジニアの成長を阻む 人材育成5つの失敗と解決策はこちら
Javaにおいては、メソッドを呼び出すときに、後ろの()内に入れる値のことです。
この場合、「hello world」が引数として扱われます。引数の仕組みについて、下記でより詳しく見ていきましょう。
引数には整数や文字列のほか配列も渡せる
引数について、下記のコードを元に具体的に見ていきましょう。
上記において「会社員A」「30」はどちらも引数にあたります。このように、引数は複数を指定することも可能です。この処理を実行すると、以下のように表示されます。
このように文字列と整数の両方、また、配列を引数とすることもできるので、覚えておきましょう。
呼び出し元のメソッドに値を戻す戻り値
引数とセットで覚えておきたいのが「戻り値」です。戻り値とは、引数を引き渡した結果、返って来る値のことを指します。
上記の文で「a-b」という式の結果を戻り値として返しています。a=10でb=4なので、「6」という値が戻り値です。
通学、オンラインどちらも個別指導で対応、短期講座(Java入門5日、基礎10日コース)はこちら
■関連記事
引数を使ってメソッドにデータを渡す方法
引数の使い方について、詳しく見ていきましょう。データの渡し方と注意点、種類について解説します。
データの渡し方と注意点
データを渡す方法は、「メソッド名(引数)」を記載することです。
このプログラムを実行すると、結果は次のようになります。
「like(name)」という記述によって、likeメソッドにnameという引数を引き渡しています。
呼び出したメソッド内で使用した変数の値も、呼び出し元のメソッドの中では使用できない点には注意が必要です。メソッドで算出した値を戻したい場合には「戻り値」を使う必要があります。
企業向け教育実績2500名以上、通年開講プロエンジニアコース(Java1~3ヶ月)はこちら
基本データ型と参照型がある
引数を使ってデータを渡すには、「基本データ型」(プリミティブ型)を使う方法と、「参照型」を使う2種類の方法があります。
基本データ型とは、intやcharなどの、プログラム言語において元々用意されている変数の型を使う方法のことです。
bに新しいデータを引き渡していますが、aの値は変わりません。aを出力しても「0」という値を返します。
一方、参照型は基本型のように値そのものを保持するのではなく、値が置いてある場所そのものを保存する方法のことです。
3行目の「b[0]=4」という記述により、aとbの参照先の値を書き換えています。この場合、a[0]を出力すると4という値を返してきます。
参照型値では、参照先の値を書き換えるという特性があります。引数を使う場合は、まずは基本型と参照型のどちらを用いるのかを考える必要があるでしょう。
■関連記事
Javaの引数で初心者が理解しづらいポイント
引数を理解する上で、特に初心者がつまづいてしまうポイントについて解説します。以下の点を踏まえた上でJavaの学習を進めていきましょう。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)はこちら
可変長引数について
引数の個数を変えられる引数のことを「可変長引数」と呼びます。引数の型が同じであれば、個数にかかわらず使うことが可能です。
可変長引数であることを定義するために、引数のデータ型のすぐ後ろに「...」(ピリオド3つ)を付けます。
可変長引数は配列を指定することも可能で便利なものですが、引数を1つしか指定できない、オーバーロード(並び順が違うメソッドを2つ以上定義すること)では使えないなどの細かいルールがあります。
戻り値がnullの可能性があればoptional
値が入っていない状態を「null」といいます。プログラム開発においては、nullを返すことで意図しないエラーが発生することもあり、「nullの値が戻ってきたときにどんな処理を行うか」を記述する必要がありました。
現在は「optionalクラス」を使うことで、この問題を解決することができます。optionalの書き方は次のとおりです。
エラーを防ぐのにも有効ですし、コードをシンプルにすることもできます。便利ですが、戻り値以外では使うことができないので注意しましょう。
メソッド引数にfinal修飾子を付ける意味
引数を記述する上で、次のようにfinalを付けることがあります。
finalを付けると、メソッド内で値の変更が不可能になります。引数が渡されたときと同じ値を保持するときに使うと便利です。
メソッドの内容や変数の値、クラスを変えたくないときには、final修飾子を利用しましょう。
■関連サイト
Javaメソッドの引数の書き方を覚えよう
Javaに限らず、プログラム作成する上では引数は必ず用いることになります。引数には参照型や基本型などの種類、修飾子などがあり、一つ一つの意味をきちんと理解することが求められます。
引数について理解を深めることは、Javaでできることの範囲を広げることにつながりますので、書き方について覚えるようにしましょう。