358

Javaでプログラムを書き始めたばかりです。次の Java コードはどういう意味ですか?

public static void main(String[] args)
  • とはString[] args?

  • これらをいつ使用しますargsか?

抽象的な説明よりもソースコードや例が好まれる

4

18 に答える 18

349

Javaargsでは、指定されたコマンドライン引数がオブジェクトの配列として含まれていStringます。

つまり、端末でプログラムを次のように実行すると、次のようになります。

C:/ java MyProgram one two

argsが含まれます["one", "two"]

の内容を出力したい場合はargs、次のようにループするだけです...

public class ArgumentExample {
    public static void main(String[] args) {
        for(int i = 0; i < args.length; i++) {
            System.out.println(args[i]);
        }
    }
}

プログラムはターミナルに出力します:

C:/ java MyProgram one two
one
two
    
C:/
于 2009-05-21T01:01:38.710 に答える
124

これらは、Java のコマンドライン引数用です。

つまり、実行すると

java MyProgram 1 2

次にargs含まれます:

[「1」、「2」]

public static void main(String [] args) {
    String one = args[0]; //=="one"
    String two = args[1]; //=="two"
}

これは、アプリケーションを特定の方法で実行するように構成したり、必要な情報を提供したりするためです。


Java を初めて使用する場合は、公式の Oracle のJava™ チュートリアルを読むことを強くお勧めします。

于 2009-05-21T11:10:21.100 に答える
48

args呼び出し時に Java プログラムに渡されるコマンドライン引数が含まれています。たとえば、次のようにプログラムを呼び出すと:

$ java MyProg -f file.txt

次に、文字列とargsを含む配列になります。"-f""file.txt"

于 2009-05-21T01:01:17.637 に答える
34

次の回答は、私の理解といくつかのテストに基づいています。

とはString[] args?

答え:

String[] -> ご存じのとおり、これは単純な文字列配列です。

args -> は配列の名前で、何でもかまいません (例: a、ar、argument、param、parameter) コンパイラー & 実行 & 私もテストしました。

例えば:

  1. public static void main(String[] argument)

  2. public static void main(String[] parameter)

これらの引数をいつ使用しますか?

答え->

このmain機能は、開発者によって非常にインテリジェントに設計されています。実際の思考は非常に深いです。これは基本的に、コマンド ライン引数に基づいて C & C++ を考慮して開発されていますが、最近では誰も使用していません。

1-ユーザーは、コマンドラインから任意のタイプのデータを入力できます。数値または文字列にすることができます。また、コンパイラがそれを受け入れるために必要なデータタイプはどれですか? ものを見る 2

2- String は、Java の int、long、float、double、byte、shot、char などのすべてのプリミティブ データ型をサポートするデータ型です。任意のプリミティブ データ型で簡単に解析できます。

例:次のプログラムをコンパイルして実行し、私もテストしました。

入力が -> 1 1 の場合

// one class needs to have a main() method
public class HelloWorld
{
  // arguments are passed using the text field below this editor
  public static void main(String[] parameter)
  {    
System.out.println(parameter[0] + parameter[1]); // Output is 11

//Comment out below code in case of String
    System.out.println(Integer.parseInt(parameter[0]) + Integer.parseInt(parameter[1])); //Output is 2
    System.out.println(Float.parseFloat(parameter[0]) + Float.parseFloat(parameter[1])); //Output is 2.0    
    System.out.println(Long.parseLong(parameter[0]) + Long.parseLong(parameter[1])); //Output is 2    
    System.out.println(Double.parseDouble(parameter[0]) + Double.parseDouble(parameter[1])); //Output is 2.0    

  }
}
于 2016-09-30T08:50:55.617 に答える
11

String [] argsJava で文字列の配列を宣言する方法でもあります。

このメソッド シグネチャではargs、メソッドが呼び出されると、配列に値が入力されます (ここでの他の例が示すように)。ただし、学習しているので、このargs配列は、次のように、メソッドで自分で作成した場合とまったく同じであることを理解する価値があります。

public void foo() {
    String [] args = new String[2];
    args[0] = "hello";
    args[1] = "every";

    System.out.println("Output: " + args[0] + args[1]);

    // etc... the usage of 'args' here and in the main method is identical
}
于 2009-05-21T01:16:47.590 に答える
7

上記の回答で十分にカバーされていると思います。これString args[]は、アプリケーションを実行するときにアプリケーションに渡すことができる単なる文字列引数の配列です。main最後に、メソッドに渡されるメソッド パラメーターをString 型の可変引数 (varargs) として定義することも有効であることを付け加えておきます。

public static void main (String... args)

つまり、メソッドは String 配列 ( ) または varargs ( )mainのいずれかをメソッド引数として受け入れる必要があります。そして、名前にも魔法はありません。または、以下に示すように書くこともできます。String args[]String... argsargsargumentsfreddiefujiwara

public static void main (String[] arguments)

public static void main (String[] freddiefujiwara)

于 2014-11-29T22:31:23.563 に答える
7

コンソールから Java クラスを実行すると、メイン メソッドが呼び出されます。これを実現するには、このメイン メソッドの定義を次のようにする必要があります。

public static void main(String [])

この文字列配列が args と呼ばれることは標準的な規則ですが、厳密には必須ではありません。プログラムを呼び出すときに、コマンド ラインでこの配列を設定します。

java MyClass a b c

これらは通常、プログラムのオプションを定義するために使用されます。たとえば、書き込みまたは読み取り対象のファイルです。

于 2009-05-21T01:18:58.693 に答える
6

in public static void main(String args[]) args は、データ型が String のコンソール ライン引数の配列です。この配列には、以下に示すようにコマンド ラインで呼び出すことにより、さまざまな文字列引数を格納でき ます 。arg[1]="ロイヤル"; コマンドラインで呼び出さない場合は、プログラム内でも手動でこれを行うことができます。

于 2013-05-28T14:27:19.647 に答える
0

以下の構文も使用できます。

public static void main(String... args)

ここでは省略記号、つまりデータ型の後の 3 つのドットでStringゼロまたは複数の引数 (引数の可変数) を指定します。

于 2021-04-18T10:41:30.193 に答える