-1

私はJavaが初めてで、いくつかの非常に基本的な質問がありました:

mainメソッドが常に を取り込まなければならないのはなぜString[]ですか? -->public static void main(String[] args)

プリミティブに関して、 afloatと aの違いは何doubleですか?

4

4 に答える 4

3

メイン メソッドは、プログラムのコマンド ライン引数を保持するため、パラメーターとして String[] を取ります。

$ javac Args.java
$ java Args hello goodbye
hello
goodbye

public class Args {
  public static void main(String[] args) {
    for (String s : args) {
      System.out.println(s);
    }
  }
}

float と double の違いについては、http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

于 2013-03-12T03:30:51.607 に答える
1

文字列の配列は、システムからプログラムに渡されるコマンド ライン引数を表します。

float と double は似ていますが、double はより多くのメモリを使用し、精度が高くなります (加算、減算、乗算、除算などでは float よりも遅くなる場合があります)。

于 2013-03-12T03:30:50.510 に答える
1

メイン メソッドが常に String[] を受け取る必要があるのはなぜですか? --> public static void main(String[] args)

コマンドライン (端末) から Java プログラムを実行する場合、構文は次のようになります。

java SomeClass [list of arguments, space-separated]

これは、さまざまなオプションでプログラムを呼び出すことができることを意味します。args変数には、コマンドライン引数が含まれています。それらを気にしない場合 (多くの場合気にしません)、変数を使用しないでください。

引数を使用してできることは次のとおりです

  1. それらをファイルへのパスとして扱い、ロードします
  2. それらをオプションとして扱います (例: verbose、silent、ログ エラーなど)。
  3. 他の方法でプログラムへの入力として扱う (例: ユーザーの名前と誕生日)

引数を使用する場合は、次のようにします。

public static void main(String[] args) {
    String first, last;
    if (args.length >= 2) {
        // The user provided a first and last name.
        first = args[0];
        last = args[1];
    } else {
        // [ prompt user for name ]
    }
}

プリミティブに関して、float と double の違いは何ですか?

Adoubleの精度は a の 2 倍 (double)floatです。その結果、2 倍のメモリも消費します。

于 2013-03-12T03:31:51.307 に答える
0

String[] プログラムのパラメータは常に文字列として読み取られるためです。

Float は 32 ビットの浮動小数点数です。Double は倍精度です: 64 ビット。(これはシステム アーキテクチャとは関係ありません。Java では、Float は常に 32 ビットで、Double は常に 64 ビットです)。

于 2013-03-12T03:31:25.457 に答える