• ベストアンサー

コマンドライン引数って・・・?

java言語を勉強中です。 コマンドライン引数って何ですか? 検索しても本を読んでもイマイチ理解できません…。 どこの部分に、どの様な形式で記入すればいいのでしょう? またその記入によって何が実行されるのですか? すいませんが、全くの初心者なので分かりやすく説明して 頂けませんか? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

引数で何が実現できるかと。 たとえば、3の2乗を計算するプログラムがあるとします。 処理は、3×3 = 9 で、9が結果として返ってきます。 答えはいつも9です。 計算できるのは、3の2乗だけです。 このプログラムができることは、それだけ。 こんなプログラムは正直要りません。欲しくないです。 こんな書き方だと、数がかわるたびにいちいちプログラム作りなおし です。 われわれが欲しいのは、 ある数を与えられたらその数を2乗した結果を返してくれる といったプログラムです。 157を与えたら、157の2乗の24649を答えとして返してくるし、 233を与えたら、233の2乗の54289を答えとして返してくる。 与える数とか条件とかを変えると、それに応じて結果を返して くるプログラムです。 具体的には、Jijyoという名前のjavaプログラムだとして >java Jijyo 157 とかコマンド(命令)を書けば、 24649 と答えが返ってくると素敵ですね。 この >java Jijyo 157 の 157 の文字。プログラムに値を渡しているこれ。これが引数です。 こういうコマンドで実行するプログラムのとき、上の 157 の値の ようにプログラムに渡してやる値。これが「コマンドライン引数」 ではないでしょうか。 プログラム実行時に渡した引数は、 #1さんのご説明のコードを拝借すると、String[] args というところ (これは、String型の配列argsを意味するのですが)ここにこの引数の値が入ってきます。 引数を利用するときは、続く処理でこのargsから、値を取り出して使います。 以上

fa_fa0321
質問者

お礼

分かりやすく教えて頂きありがとうございました。 やっと理解できるようになりました。

その他の回答 (1)

noname#18558
noname#18558
回答No.1

コマンドライン引数とは、アプリケーションの起動時に与える値のことです。 Javaなら、javaコマンド実行時に設定できます。 >java HelloJava 1 2 3 と実行すると、HelloJavaクラスのmainで受け取ることができます。 class HelloJava { public static void main(String[] args) { for(int i=0; i<args.length; i++) { System.out.println(args[i]); } } } コンソールには 1 2 3 と表示されます。 また、コマンドライン引数で数字を入力しても、Javaで受け取るの値はString型なので注意して下さい。

参考URL:
http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000250.html
fa_fa0321
質問者

お礼

お早い回答ありがとうございました。 お蔭様でとてもよく分かりました。

関連するQ&A