私はJavaが初めてで、いくつかの非常に基本的な質問がありました:
main
メソッドが常に を取り込まなければならないのはなぜString[]
ですか? -->public static void main(String[] args)
プリミティブに関して、 afloat
と aの違いは何double
ですか?
メイン メソッドは、プログラムのコマンド ライン引数を保持するため、パラメーターとして 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
文字列の配列は、システムからプログラムに渡されるコマンド ライン引数を表します。
float と double は似ていますが、double はより多くのメモリを使用し、精度が高くなります (加算、減算、乗算、除算などでは float よりも遅くなる場合があります)。
メイン メソッドが常に String[] を受け取る必要があるのはなぜですか? --> public static void main(String[] args)
コマンドライン (端末) から Java プログラムを実行する場合、構文は次のようになります。
java SomeClass [list of arguments, space-separated]
これは、さまざまなオプションでプログラムを呼び出すことができることを意味します。args
変数には、コマンドライン引数が含まれています。それらを気にしない場合 (多くの場合気にしません)、変数を使用しないでください。
引数を使用してできることは次のとおりです。
引数を使用する場合は、次のようにします。
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 倍のメモリも消費します。
String[] プログラムのパラメータは常に文字列として読み取られるためです。
Float は 32 ビットの浮動小数点数です。Double は倍精度です: 64 ビット。(これはシステム アーキテクチャとは関係ありません。Java では、Float は常に 32 ビットで、Double は常に 64 ビットです)。