catch-img

Javaの引数について基本的な考え方。参照渡しの注意点も解説

引数はプログラムを組む上で重要な要素です。引数の理解を曖昧にしておくと、Javaを扱うのが難しくなります。ここでは、引数に対する基本的な考え方について解説します。引数の扱いや参照渡しについて、理解を深めましょう。ジョブサポートでは個別指導で通年Java研修を行っており基礎をしっかり学ぶ事ができます。興味のある方はご相談下さい

目次[非表示]

  1. 1.Javaの引数(ひきすう)はメソッドに渡すデータ
    1. 1.1.引数には整数や文字列のほか配列も渡せる
    2. 1.2.呼び出し元のメソッドに値を戻す戻り値
  2. 2.引数を使ってメソッドにデータを渡す方法
    1. 2.1.データの渡し方と注意点
    2. 2.2.基本データ型と参照型がある
  3. 3.Javaの引数で初心者が理解しづらいポイント
    1. 3.1.可変長引数について
    2. 3.2.戻り値がnullの可能性があればoptional
    3. 3.3.メソッド引数にfinal修飾子を付ける意味
  4. 4.Javaメソッドの引数の書き方を覚えよう

Javaの引数(ひきすう)はメソッドに渡すデータ

プログラムにおいて、「この値を使ってデータを処理して欲しい」というときに、渡す値のことを引数(ひきすう)といいます。ジョブサポートのJava研修を受講している方が躓くポイントの一つです。

若手、新人エンジニアの成長を阻む 人材育成5つの失敗と解決策はこちら

Javaにおいては、メソッドを呼び出すときに、後ろの()内に入れる値のことです。

System.out.println("hello world");

この場合、「hello world」が引数として扱われます。引数の仕組みについて、下記でより詳しく見ていきましょう。

引数には整数や文字列のほか配列も渡せる

引数について、下記のコードを元に具体的に見ていきましょう。

class Main {
 public static void main(String[] args) {
  printData("会社員A", 30);
 }
 public static void printData(String name, int age) {
  System.out.println(name + "の年齢は" + age + "歳です");
 }
}

上記において「会社員A」「30」はどちらも引数にあたります。このように、引数は複数を指定することも可能です。この処理を実行すると、以下のように表示されます。

会社員Aの年齢は30歳です

このように文字列と整数の両方、また、配列を引数とすることもできるので、覚えておきましょう。

呼び出し元のメソッドに値を戻す戻り値

引数とセットで覚えておきたいのが「戻り値」です。戻り値とは、引数を引き渡した結果、返って来る値のことを指します。

public class Main {
  public static void main(String[] args) {
    int difference = subtract(10,4);
    System.out.println(difference);
  }
   public static int subtract(int a, int b){
      return a-b;
  }
}

上記の文で「a-b」という式の結果を戻り値として返しています。a=10でb=4なので、「6」という値が戻り値です。

通学、オンラインどちらも個別指導で対応、短期講座(Java入門5日、基礎10日コース)はこちら

■関連記事

  Java入門者向けfor文の基礎知識。用語解説やサンプルの紹介も | Java・フロントエンド研修のジョブサポート Javaのコードを記述する上では、for文への理解は必須です。for文の役割や用途、具体的な記述について、基礎から学んでいきましょう。サンプルコードも紹介しますので、for文を使う際には参考にしてみてください。 Java・フロントエンド研修のジョブサポート


引数を使ってメソッドにデータを渡す方法

引数の使い方について、詳しく見ていきましょう。データの渡し方と注意点、種類について解説します。

データの渡し方と注意点

データを渡す方法は、「メソッド名(引数)」を記載することです。

public class Main {
  public static void main(String[] args) {
    String name = "リンゴ";
    like(name);
  }
  private static void like(String name) {
    System.out.println(name + "が大好物です");
  }
}

このプログラムを実行すると、結果は次のようになります。

リンゴが大好物です

「like(name)」という記述によって、likeメソッドにnameという引数を引き渡しています。

呼び出したメソッド内で使用した変数の値も、呼び出し元のメソッドの中では使用できない点には注意が必要です。メソッドで算出した値を戻したい場合には「戻り値」を使う必要があります。

企業向け教育実績2500名以上、通年開講プロエンジニアコース(Java1~3ヶ月)はこちら

基本データ型と参照型がある

引数を使ってデータを渡すには、「基本データ型」(プリミティブ型)を使う方法と、「参照型」を使う2種類の方法があります。

基本データ型とは、intやcharなどの、プログラム言語において元々用意されている変数の型を使う方法のことです。

int a = 0;
int b = a;
b = 10;

bに新しいデータを引き渡していますが、aの値は変わりません。aを出力しても「0」という値を返します。

一方、参照型は基本型のように値そのものを保持するのではなく、値が置いてある場所そのものを保存する方法のことです。

int a[] = {1};
int b[] = a;
b[0] = 4;

3行目の「b[0]=4」という記述により、aとbの参照先の値を書き換えています。この場合、a[0]を出力すると4という値を返してきます。

参照型値では、参照先の値を書き換えるという特性があります。引数を使う場合は、まずは基本型と参照型のどちらを用いるのかを考える必要があるでしょう。

■関連記事

  Javaコードで避けては通れない変数や宣言の要点解説 | Java・フロントエンド研修のジョブサポート 変数はプログラミング言語を習得するなら必ずマスターしなければなりません。この記事では、Javaにおける変数と宣言についての要点をわかりやすく解説します。変数に入れるデータの扱いや種類についてもあわせて見ていきましょう。 Java・フロントエンド研修のジョブサポート


Javaの引数で初心者が理解しづらいポイント

引数を理解する上で、特に初心者がつまづいてしまうポイントについて解説します。以下の点を踏まえた上でJavaの学習を進めていきましょう。

全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)はこちら

可変長引数について

引数の個数を変えられる引数のことを「可変長引数」と呼びます。引数の型が同じであれば、個数にかかわらず使うことが可能です。

可変長引数であることを定義するために、引数のデータ型のすぐ後ろに「...」(ピリオド3つ)を付けます。

可変長引数は配列を指定することも可能で便利なものですが、引数を1つしか指定できない、オーバーロード(並び順が違うメソッドを2つ以上定義すること)では使えないなどの細かいルールがあります。

戻り値がnullの可能性があればoptional

値が入っていない状態を「null」といいます。プログラム開発においては、nullを返すことで意図しないエラーが発生することもあり、「nullの値が戻ってきたときにどんな処理を行うか」を記述する必要がありました。

現在は「optionalクラス」を使うことで、この問題を解決することができます。optionalの書き方は次のとおりです。

Optional<T> オブジェクト名 = Optional.ofNullable(nullを返す可能性があるオブジェクト名);

エラーを防ぐのにも有効ですし、コードをシンプルにすることもできます。便利ですが、戻り値以外では使うことができないので注意しましょう。

メソッド引数にfinal修飾子を付ける意味

引数を記述する上で、次のようにfinalを付けることがあります。

private static void hello(final String name)

finalを付けると、メソッド内で値の変更が不可能になります。引数が渡されたときと同じ値を保持するときに使うと便利です。

メソッドの内容や変数の値、クラスを変えたくないときには、final修飾子を利用しましょう。

■関連サイト

  Java入門5日・基礎10日通学講座-Java・フロントエンド研修のジョブサポート Java入門5日、基礎10日講座は通学・オンラインが選択できJavaの基礎力強化に力を入れている講座です。スキルチェンジでJavaを学びたい方、未経験者、待機者にJavaの基礎を習得させたい企業様向けの短期講座になります。 Java・フロントエンド研修のジョブサポート


Javaメソッドの引数の書き方を覚えよう

Javaに限らず、プログラム作成する上では引数は必ず用いることになります。引数には参照型や基本型などの種類、修飾子などがあり、一つ一つの意味をきちんと理解することが求められます。

引数について理解を深めることは、Javaでできることの範囲を広げることにつながりますので、書き方について覚えるようにしましょう。

メールマガジンの購読設定

ジョブサポートの最新情報をお届けするほか、

人事、採用教育担当者、若手エンジニア向けに

役立つ情報をお届けします。

人材開発支援助成金(2021年度上期) 

特定訓練コース 若年人材育成訓練の

計画申請資料をまとめてダウンロード

よく読まれている記事

タグ一覧