コマンドライン引数とは

プログラミング初学者です。(Javaを学習中)

コマンドライン引数について疑問に思ったことと、疑問に対する自分なりの理解を書きます。


Q1: コマンドライン引数とは?


A: プログラムを起動した際に一番最初に渡される情報

コマンドライン引数に最も多く設定されるのはファイルの情報だそうです。(文字や数値でもOK)

設定するときに必要なデータが入っているフォルダのパスを指定してあげればフォルダの中身の情報が取得できます。

いちいちコードを書かなくてもファイルの情報を勝手に持ってきてくれるから便利だなー。

と感じました。


Q2: コマンドライン引数の情報はどこに渡されるの?


A: mainメソッドの引数部分

↓ここです↓

fullsizeoutput_18.jpeg

javaの仮想マシン(VM)から最初に呼び出されるのは、"public static void main(String[] args)"と決まっているらしくString型の配列で受け取っています。ちなみに変数名だけは別に"args"じゃなくても良いそうです。


Q3: mainメソッドは他の場所から引数の値を受け取れないの?


A: mainメソッドの引数はコマンドライン引数専用である

mainメソッドプログラムの中で一番最初に呼ばれるため下記の画像のようにメソッドで引数を渡すことができません。

だからコマンドライン引数で情報を渡してあげる必要があるんですね。

fullsizeoutput_19.jpeg

初学者らしい拙い内容になっているとは思いますが、誰かの役に立てれば幸いです。

内容に不備がありましたら恐れ入りますがコメントをください。

読んでいただきありがとうございました。

【下記参照元】

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

https://wa3.i-3-i.info/word11643.html

Samurai Blog

https://www.sejuku.net/blog/65082