MENU

【Java】コマンドライン引数の使い方

https://cdn-ak.f.st-hatena.com/images/fotolife/k/kiserukun/20210611/20210611090227.png

コマンドライン引数とは

コマンドライン引数はmainメソッドで利用できるパラメーターを与える仕組みのことです

使い方


1.コンパイルします f:id:kiserukun:20210610200450p:plain 2.ファイルを実行します f:id:kiserukun:20210610201239p:plain ファイル名の後半角スペース空けた黄色い部分がコマンドライン引数です

※ファイル名はFileです f:id:kiserukun:20210611110512j:plain


使用例


引数を一つ入れる

class File{
  public static void main(String args[]){
      System.out.println("引数は" + args[0] + "です");
  }
} 

以下の様にファイルを実行します f:id:kiserukun:20210611110512j:plain

表示結果

引数は2です

引数を複数入れる

class File{
  public static void main(String args[]){
      System.out.println("引数は" + args[0] + "です");
      System.out.println("引数は" + args[1] + "です");
      System.out.println("引数は" + args[2] + "です");
  }
}  

引数には以下を与えます f:id:kiserukun:20210611135311p:plain

表示結果

引数は明です
引数は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つの場合はこうなります f:id:kiserukun:20210611144610p:plain

引数が2つの場合 f:id:kiserukun:20210611144913p:plain こうなります。

引数を与えなかったときのエラー

class File{
  public static void main(String args[]){
      System.out.println(args[0]);  
  }
}  
>java File

引数を与えずにファイルを実行するとこうなります f:id:kiserukun:20210611150726p:plain

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 at File.main(File.java:3)

要素が存在していなかったときにでるエラーが表示されます。 自分はエラーを回避するのにif文を使ったりといろいろ苦労しました。 それよりも、コマンドライン引数について理解するのことにかなりの時間がを費やしました。

理解にはまだほど遠い状態です・・・