- ベストアンサー
(String args[])というメッソッドの意味
JAVAの初心者です、宜しくお願いします。 アプリケーションのプログラムで、Static Void (String args[])というメッソッドがありますがこれは一体何をさせるものですか。 また色々と本読んでいると、Static Void (String[] args)と配列を設定している場合もあります。 良く理解できません。ベーシックは理解できるのですが。宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まず最初に、お勧め過去ログです。 [mainメソッド(コンパイルは出来るが、実行不可。)] http://oshiete1.goo.ne.jp/kotaeru.php3?q=55027 [mainメソッド(クラスメソッドとしての利用。)] http://oshiete1.goo.ne.jp/kotaeru.php3?q=1876924 そこそこJavaの勉強をしてきて、上記じゃ物足りないなあという方向け [公式サイト] http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/java.html [Java言語規定の「12.実行」] http://www.y-adagio.com/public/standards/tr_javalang/12.doc.htm [Javaコマンドの基本] http://www.stackasterisk.jp/tech/java/javaCommand01_01.jsp あと、今だと都会の大型書店に行けば、日経ソフトウエアの2006年11月号がまだ山積みされていることと思います。ここの「特集4 Java開発者必見! 仮想マシンの仕組みを理解する」の所には、JVMが実際にどのように動いているのかとか、javapコマンドの簡単な使い方などが載っていますので、そちらの方も参考にしてください。 http://www15.nikkeibp.co.jp/software/backno/2006/0611indexc.html
その他の回答 (3)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#2>JVMから一番最初に呼び出されるメソッドとありますが ということですから #2>実際には、args[]の配列にはどのようなstringが渡されるのでしょうか。 でいうargs[] は、 public static void main(String[] args){ のargs ですね。 例えば、 class Args { public static void main(String[] args){ for(String str : args) System.out.println(str); } } 上記をコンパイルして、 java Args argA argB argC のように実行すると、 argA argB argC と表示されます。 つまり、 public static void main(String[] args){ のargs には、プログラムを起動するときに与えた(自プログラム以降の)コマンドライン文字列が文字列の配列として、 プログラムの最初に実行されるメソッドmain に渡されるということになります。 #2>そもそもJAVAはシステムからどのようにロードされるのでしょうか。 (windows でいうjava.exe がシステムにどのようにロードされるのかというような意味合いであれば)それは、OSによって異なる部分なので、JAVAの使用者としては別段気にすることはないと思います。 (ホントにそんなことを知りたいのかどうか、私の勘違いかも知れませんが、いわゆるアプリケーションプログラムは、シェルなどによって起動が促されて、OSによってメモリ上に読み込まれてメモリ上で実行できるような変換処理などを経てOSの配下でCPUを与えられてそのCPUで実行されます。まあ、概略こんな感じです。java(.exe) も同じだと思います)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
何をさせるものかは、わかりませんが、 メソッドの引数に String args[] とあれば、文字列の配列をそのメソッドに渡しているということを表します。 String[] args は、同じ意味です。 どちらかというと、String[] args が本式で、String args[] は、便法だったと思います。
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
public static void main(String args[])じゃありませんか? これはJava(スタンドアロンプログラム)を起動する際、 JVMから一番最初に呼び出されるメソッドです。 一番最初に呼び出したいクラスにそれがないと動かない、という事です。 また、配列宣言の[]は、型の後でも変数名の後でも使えるだけで、 違いはありません。
補足
実際には、args[]の配列にはどのようなstringが渡されるのでしょうか。 JVMから一番最初に呼び出されるメソッドとありますが 、そもそもJAVAはシステムからどのようにロードされるのでしょうか。