2009-06-30 9 views
4

私は、Javaの勉強メインルーチンにのJavaのpublic static main()の

..私は理解していない一つのことをtheresの:

public static void main(String[] args) { 

私は、私はほとんどの言語で、このことを理解して考えます私は、私はそれがこのようなことだと思う知っている:

public static function main(args:String):void { 

私は理解していない最初の事は2つの括弧[]は、String []型には何をしているのですか?私が疑問に思っているもう一つのことは、これが最初に呼び出される関数(そしてプログラム外の何かによって呼び出される)ならば、実際にはパラメータが渡されるのでしょうか?

ありがとうございました。

答えて

13

mainへの引数は、コマンドラインからJavaに渡して配列として渡すオプションです。そう例えば:

java MyProgram foo bar zoo 

fooが引数である三つの引数、すなわち、FOO、バー、及び動物園をとり[0]、バーは、引数[1]であり、動物園は引数[2]です。

+0

これは私の質問に答えるが、さらに1つを上げる誰かが私のために答えることができるかどうか疑問に思う。 String []やint []のような配列を定義することができれば、まだ正式な配列クラスはありますか?さまざまな種類のデータを保持する可能性があります...私はあなたがその特定のデータ型だけを含むことができるように指定したい場合、配列をこのように定義すると仮定していますか?ありがとう。 –

+0

そのコレクションとベクトルを使用することができます。 – blockhead

+1

@John Isaacksは "正式な配列クラスですか、異なるデータ型を保持することができますか":Object []はすべての型の参照を保持します(参照型はすべてオブジェクト)。参照型とプリミティブ型はJavaでは分離されているため、すべての型にスーパー型はありませんが、プリミティブ型は参照型にボックス化できます。 – newacct

1

角括弧は、それが文字列の配列であることを意味します。また、パラメータもあります。あなたのアプリケーションを起動するときにコマンドラインから。

0

これは、文字列の配列を取得することを意味します。コマンドライン経由で渡すことができます

5

ブラケットの意味array。例えば。 String[]は文字列の配列です。 main() -functionは、プログラムで呼び出される最初の関数です。それはJVMによって呼び出されます。

String[] argsの値は、コマンドラインで渡されるパラメータです。

String[] args = new String[3]; 
args[0] = "foo"; 
args[1] = "bar"; 
args[2] = "buz"; 

つまり:あなたはそのように構築された場合

java foo.bar.FooBar foo bar buz 

そして、argsが好きになる:そのような:

あなたは(FooBarパッケージfoo.barでメインクラス)のJavaプログラムを呼び出す場合おそらく読む価値があります:A Closer Look at the "Hello World" Application

0

[]は、配列を表します。 文字列x = "so私の価値 "; String [] x = {"値1"、 "値2"、 "値3"};

したがって、x [0]は「値1」を与えます。これは基本的に文字列の配列です。 2番目の部分は誰が関数を呼び出しますか?このメソッドのシグネチャはエントリシグニチャです。javaプログラムでクラスを呼び出そうとすると、この関数を検索して実行を開始します。もしそれが見つからなければ、それを見つけることはできません。それはちょうどエラーを出すでしょう。

誰がval []配列に値を渡しますか? javaのsomeprogramの値1の値2の値3

は自動的にそれぞれ3つの値で配列を設定します。したがって、基本的に、コマンドプロンプトから実行されるときに値が設定され、値は呼び出しに対してパラメーターとして渡されます。

それをクリアすることを希望する

関連する問題