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

コマンドライン引数ってなんぞや

結論から言うとjavaプログラムを実行するときにmainメソッドに引数を渡すことができます。この実行するときにmainメソッドに渡す引数がコマンドライン引数です。文章で書くより実際のプログラムを見たほうが早いと思うので早速取り掛かりましょう!

java fileName Command line arguments

Javaで書かれたプログラムを実行するときは通常javacコマンドでコンパイルした後、javaコマンドを使って実行します。

javac fileName.java
java fileName

このjavaコマンドを使って実行するときにクラス名の後ろに文字列を入力することでプログラム内で入力された文字列を利用することができます。

java fileName abc def xyz

こんな具合で実行するときに”abc” “def” “xyz”を渡してmainメソッド内でこれらの文字列を利用して処理をすることができます。

プログラムを書いてみる

コマンドライン引数を使って名前と出身地を出力するプログラムを作ってみます。

class Sample_cla {
    public static void main(String[] args) {
        String name = args[0];
        String birthPlace = args[1];

        System.out.println("名前は" + name + "です");
        System.out.println("出身地は`" + birthPlace +  "です");
    }
}

これを以下のコマンドで実行します。

javac Sample_cla.java
java Sample_cla tanaka tokyo

実行結果は以下の通りになります。

名前はtanakaです
出身地はtokyoです

このように実行するときのjavaコマンドで引数を渡し、プログラム内で利用することができます。クラス名の後ろに文字列をスペース区切りで入力すると、それがString型の配列であるargsに格納されます。上記の場合でいくと、args[0]にはtanakaが格納され、args[1]にはtokyoが格納されます。それらをそれぞれname, birthPlaceと言う変数に代入することでプログラム内でnameやbirthPlaceを使って出力することが可能になります。

まとめ

コマンドライン引数というのはjavaコマンドでプログラムの実行を行う際にmainメソッドに引数を渡したいときに使われます。スペース区切りで入力することが可能で順番にString型の配列であるargsに格納されていきます。argsはMainメソッド内で普通に配列として利用することができます。

コメント

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