【Java】コマンドライン引数とは?

Java

今回の記事ではJavaのコマンドライン引数について徹底的に解説していきます。
実際のプログラムを書いて説明しているので、初心者の方でもわかりやすい内容となっています。

この記事を読むことで

  • コマンドライン引数ってなに?
  • コマンドでJavaを実行するときにコマンドライン引数を渡す方法
  • eclipseでコマンドライン引数を渡す方法

を理解することができます!ぜひ最後まで読んでいってください!

Javaのコマンドライン引数とは

まずはJavaのコマンドライン引数がなんなのか?ということについて解説していきます。
Javaのコマンドライン引数とはmainメソッドに渡す引数のことです。
Javaのmainメソッドは次のように記述されます。

public static void main(String[] args)

このmainメソッドの引数である「String[] args」に渡すものがコマンドライン引数です。

Javaでプログラムを実行するとmainメソッドが実行されます。
このプログラムを実行したときにmainメソッドに渡す引数がコマンドライン引数です。

コマンドライン引数はString型の配列として渡されます。

Javaのコマンドライン引数の渡し方

次にJavaのコマンドライン引数の渡し方について解説していきます。
Javaは次のようなコマンドで実行することができます。

 java クラス名

コマンドライン引数を渡したい場合はクラス名の後に半角スペースを入れて、指定することで渡すことができます。

java クラス名 コマンドライン引数

実際のコードで確認

実際にプログラムを書いてコマンドライン引数を渡してmainメソッドを実行してみましょう。
次のプログラムはコマンドライン引数を1つ受け取ってその値を出力する処理を記述したものです。

public class KomandoLineHikisu{
    public static void main(String[] args) {
        System.out.println("コマンドライン引数を1つ受け取って、出力する");
        System.out.println("コマンドライン引数 = " + args[0]);
    }
}

上記のプログラムに「Test」というコマンドライン引数を渡して実行します。

javac KomandoLineHikisu.java
java KomandoLineHikisu Test

実行結果は次のようになります。

コマンドライン引数を1つ受け取って、出力する
コマンドライン引数 = Test

コマンドライン引数を複数設定する

先ほどの例ではコマンドライン引数を1つ渡しました。
しかしコマンドライン引数は配列を受け取るので、複数指定することができます。

複数指定する場合には次のように半角スペースを入れることで複数指定することができます。

java クラス名 引数1 引数2 引数3 ...

上記のように渡すことで引数を複数渡すことができ、指定した順に配列の0番目、1番目に格納されてmainメソッドに渡されます。

実際のコードで確認してみましょう。
次のコードはコマンドライン引数を複数受け取り、拡張for文を使って順番に出力しています。

public class KomandoLineHikisu{
    public static void main(String[] args) {
        System.out.println("コマンドライン引数を複数受け取って、出力する");

        // 拡張for文を使ってコマンドライン引数を出力する
        for (String arg: args) {
            System.out.println(arg);
        }
    }
}

拡張for文については、次の記事を参考にしてください。

上記のプログラムに複数コマンドライン引数を渡して実行してみると次のような結果になります。

java KomandoLineHikisu Test テスト 試験

実行結果

コマンドライン引数を複数受け取って、出力する
Test
テスト
試験

eclipseでコマンドライン引数を設定する

ここまでコマンドを使ってJavaを実行する際にコマンドライン引数を渡す方法に付いて解説してきました。
ここからはeclipseを使って開発している際にコマンドライン引数を設定する方法について解説していきます。

次のようなmainメソッドを準備しました。
このmainメソッドではコマンドライン引数として受け取った値で挨拶をするプログラムです。

public class KomandoLineHikisu {

	public static void main(String[] args) {

		// コマンドライン引数で名前を受け取って自己紹介するプログラム
		System.out.println("こんにちは!私の名前は" + args[0] + "です。");

	}
}

eclipseでコマンドライン引数を指定する場合は、まずコマンドライン引数を渡したいクラスを右クリックします。
次に「実行」の上にカーソルを合わせ、表示された「実行の構成」をクリックします。

するとウィンドウが立ち上がります。
「引数」のタグをクリックし、「プログラムの引数」の箇所にコマンドライン引数として渡したい値を入力します。
「適応」を押して、実行すると指定したコマンドライン引数が渡されて実行されます。

まとめ

今回はJavaのコマンドライン引数について解説してきました。
Javaではmainメソッドを実行する際に引数を渡すことができます。

コマンドライン引数を渡す方法として、コマンドから渡す方法・eclipseを使って渡す方法について解説してきました!

この記事があなたのプログラミング学習に役立ってくれれば幸いです。

タイトルとURLをコピーしました