バナー画像

Javaをはじめとしたプログラミング言語では、言語によって呼び方が変わったり、使う状況によって呼び方が変わる専門用語が多く見られます。

本記事では、「パラメーター」に着目して、Javaでのパラメーターの使い方についてご紹介していきます。

Javaのパラメーターとは


Java開発では様々な場面で「パラメーター」という言葉が利用されますが、意味合いとしては「外部から与えられる値」のことを指します。

パラメーターと引数の違い

パラメーターと似た用語として「引数」という言葉が利用されていますが、厳密には異なる意味を持つ用語です。

パラメーターは、メソッドの中で利用するために定義された値のことを指しています。

対して引数は、メソッドを呼び出す際に指定する値のことを指します。

実引数と仮引数

また少しややこしくなりますが、実引数と仮引数という言葉にも注目しておく必要があります。

上述したメソッドの中で利用するために定義された値である「パラメーター」、これが「仮引数」にあたる言葉です。

メソッドを呼び出す際に指定する値は「引数」、これが「実引数」にあたる言葉です。

実引数が実際に設定される値で、仮引数がメソッド内で受け取った値を利用するための変数といったイメージです。

Javaサンプルコードでパラメーターの具体例を確認しよう


文章で表現していても分かりづらい部分が多いと思いますので、実際のサンプルコードを使った具体的な値で「パラメーター」を理解していきましょう。

サンプルコード1

mainメソッドからcalcメソッドを呼び出し、計算結果をコンソールに出力するというサンプルコードです。

public class Main {
	
	public static void main(String[] args) {
		
    	int num1 = 3;
    	int num2 = 5;
    	
    	int result = calc(num1, num2);
    	
    	System.out.println(result);        
	}
	
	public static int calc(int num1, int num2) {
		return num1 * num2;
	}
}

サンプルの場合、8行目のcalcに渡している「num1」と「num2」が引数(実引数)、13行目のメソッドcalcに設定されている「num1」と「num2」がパラメーター(仮引数)にあたります。

サンプルコード2

サンプルコード1では、全く同じ変数名で定義しましたが、引数とパラメーターの変数名は異なっていても問題ありません。

public class Main {
	
	public static void main(String[] args) {
		
    	int num1 = 3;
    	int num2 = 5;
    	
    	int result = calc(num1, num2);
    	
    	System.out.println(result);        
	}
	
	public static int calc(int number1, int number2) {
		return number1 * number2;
	}
}

サンプルコード2は、実行した結果サンプルコード1と全く同じ処理が実行されます。

今回の場合、引数(実引数)が8行目の「num1」と「num2」で、13行目の「number1」と「number2」がパラメーター(仮引数)にあたります。

Javaの起動パラメーターを利用してみよう


ここまででお気づきの方もいらっしゃるかも知れませんが、mainメソッドにもパラメーターとして「String[] args」が記述されています。

これは起動パラメーターと呼ばれるもので、実際に値を渡して利用することが可能です。

実行の構成

今回はEclipseでの設定方法を説明していきます。


まずプロジェクトを右クリックして「実行」→「実行の構成」を選択します。


Javaアプリケーションの中から、今回実行するプロジェクトのメインクラスが表示されていることを確認します。


「引数」タブを選択して、プログラムの引数に起動パラメーターとして設定したい値を入力します。

ポテパンダの一言メモ

起動パラメーターを複数設定したい場合、半角スペースで区切って入力します。

これで閉じるボタンをクリックすれば、設定完了です。

サンプルコード

今回はシンプルに受け取った起動パラメーターをコンソールに出力するサンプルコードを記述しました。

public class Main {
	
	public static void main(String[] args) {
		
    	System.out.println(args[0]);
    	System.out.println(args[1]);
    	System.out.println(args[2]);
	}
}

実行した結果が下記です。

ポテパン
パラメーター
てすと

起動パラメーターは文字列型の配列として取得されるため、「args[数値]」のような形式で取得出来ます。

注意点

起動パラメーターを利用する上で注意しておきたいポイントも確認しておきましょう。

引数の数に注意

実行の構成で設定した値が多い分には取得出来ないだけなのですが、少なすぎる場合には下記のようなエラーが発生してしまいます。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
	at Main.main(Main.java:7)

例えば上述したサンプルで実行の構成に設定する値を2つだけにすると、Javaプログラム上で存在しない配列値にアクセスしようとしてエラーが発生してしまうため注意が必要です。

文字列型として受け取る点に注意

実行の構成で引数に数字を指定することは出来ますが、あくまで文字列で受け取ることを意識しておかないと想定しない結果になるので注意しましょう。


例えばプログラムの引数として「1 2 3」を指定したとします。

プログラムは「+」を使って足し算の結果を出力したかったとします。

public class Main {
	
	public static void main(String[] args) {
		
    	System.out.println(args[0] + args[1] + args[2]);
	}
}

この状態で実行すると結果は「6」ではなく、下記のように表示されます。

123

これはプログラムの引数に数字を指定したとしても、あくまで起動パラメーターとして受け取るのは文字列であるため、文字列連結が実施されることによる結果です。

数値として計算したい場合には、下記のようなint型への変換作業が必要となるので意識しておきましょう。

public class Main {
	
	public static void main(String[] args) {
		
    	System.out.println(Integer.parseInt(args[0]) + Integer.parseInt(args[1]) + Integer.parseInt(args[2]));
	}
}

ポテパンダの一言メモ

サンプルのため簡略化していますが、変換作業時にエラーが発生する可能性もあるため、エラー処理の記述が必要です。

実行した結果が下記です。

6

さいごに: Javaでパラメーターの扱い方を理解して他言語にも応用しよう


本記事では、パラメーターとは何かといった基礎知識からJavaのサンプルコードを使った具体例までご紹介してきました。

パラメーターの考え方はJava言語に限らず、様々なプログラミング言語で応用可能です。

しっかりと基礎知識を身に着けて、効率的にプログラミング学習が進めるように知識を定着させていきましょう。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。