【Java】コマンドライン引数の使い方
コマンドライン引数とは
コマンドライン引数はmainメソッドで利用できるパラメーターを与える仕組みのことです
使い方
1.コンパイルします 2.ファイルを実行します ファイル名の後半角スペース空けた黄色い部分がコマンドライン引数です
※ファイル名はFileです
使用例
引数を一つ入れる
class File{ public static void main(String args[]){ System.out.println("引数は" + args[0] + "です"); } }
以下の様にファイルを実行します
表示結果
引数は2です
引数を複数入れる
class File{ public static void main(String args[]){ System.out.println("引数は" + args[0] + "です"); System.out.println("引数は" + args[1] + "です"); System.out.println("引数は" + args[2] + "です"); } }
引数には以下を与えます
表示結果
引数は明です
引数は55です
引数はaa55です
引数の値はコード内で
「args[0],args[1]・・・ 」
という配列として受け取ります。
引数の数による分岐
class File{ public static void main(String args[]){ if (args.length == 2) { System.out.println("引数は2つです"); } else { System.out.println("引数を入力してください"); } } }
表示結果
引数が1つの場合はこうなります
引数が2つの場合 こうなります。
引数を与えなかったときのエラー
class File{ public static void main(String args[]){ System.out.println(args[0]); } }
>java File
引数を与えずにファイルを実行するとこうなります
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 at File.main(File.java:3)
要素が存在していなかったときにでるエラーが表示されます。 自分はエラーを回避するのにif文を使ったりといろいろ苦労しました。 それよりも、コマンドライン引数について理解するのことにかなりの時間がを費やしました。
理解にはまだほど遠い状態です・・・