コマンドライン引数

args

今まで,main メソッドの引数に String型の配列がついていました. この変数を使うと,コマンドライン引数で受け取った値をプログラムから利用できます.

つまり,ターミナル上でプログラムを実行するとき,後ろに指定した文字列をプログラムで受け取れます.

$ java HogeHoge command line arguments
    # => 上記の command, line, arguments がコマンドライン引数

例題

次のプログラムで,コマンドライン引数で与えられた値を全て出力してみましょう.

public class ArgsPrinter{
    void run(String[] args){
        for(Integer i = 0; i < args.length; i++){
            System.out.printf("%d: %s%n", i, args[i]);
        }
    }
    public static void main(String[] args){
        ArgsPrinter printer = new ArgsPrinter();
        printer.run(args);
    }
}

入力できれば,上記のプログラムを実行して実行結果を確認してください. 実行する時,コマンドライン引数をいくつか与えてみてください.

$ java ArgsPrinter
$ java ArgsPrinter abc def ghi
$ java ArgsPrinter abcdefg
$ java ArgsPrinter 0 1 2 3 4 5 6 7 8 9

このように,run メソッドが引数を受け取るようにすることもできます. 必要に応じてコマンドライン引数を run メソッドでアクセスできるようにしましょう.