我是 Java 新手,有一些非常基本的问题:
为什么该main
方法必须始终采用 a String[]
?-->public static void main(String[] args)
float
关于原语, a和 a 有什么区别double
?
main 方法将 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);
}
}
}
对于浮点数和双精度数的区别,http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
字符串数组表示从系统传递到程序中的任何命令行参数。
float 和 double 是相似的,除了 double 使用更多的内存并且具有更高的精度(对于加、减、乘、除等,它也可能比 float 慢)。
为什么 main 方法必须始终采用 String[]?--> 公共静态 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 ]
}
}
关于原语,浮点数和双精度数有什么区别?
Adouble
的精度是 a 的两倍(两倍)float
。因此,它也占用了两倍的内存。
String[] 因为您的程序的参数将始终被读取为字符串。
Float 是一个 32 位浮点数。Double 是双精度:64 位。(这与您的系统架构无关。在 Java 中 Float 将始终为 32 位,而 Double 将始终为 64 位)。