-1

我是 Java 新手,有一些非常基本的问题:

为什么该main方法必须始终采用 a String[]?-->public static void main(String[] args)

float关于原语, a和 a 有什么区别double

4

4 回答 4

3

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

于 2013-03-12T03:30:51.607 回答
1

字符串数组表示从系统传递到程序中的任何命令行参数。

float 和 double 是相似的,除了 double 使用更多的内存并且具有更高的精度(对于加、减、乘、除等,它也可能比 float 慢)。

于 2013-03-12T03:30:50.510 回答
1

为什么 main 方法必须始终采用 String[]?--> 公共静态 void main(String[] args)

从命令行(终端)运行 Java 程序时,语法为

java SomeClass [list of arguments, space-separated]

这意味着您可以使用不同的选项调用您的程序。该args变量包含命令行参数。如果您不关心它们(通常您不会),请不要使用该变量。

以下是您可以对参数执行的一些操作:

  1. 将它们视为文件的路径并加载它
  2. 将它们视为选项(例如,详细、静默、日志错误等)
  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 ]
    }
}

关于原语,浮点数和双精度数有什么区别?

Adouble的精度是 a 的两倍(两倍)float。因此,它也占用了两倍的内存。

于 2013-03-12T03:31:51.307 回答
0

String[] 因为您的程序的参数将始终被读取为字符串。

Float 是一个 32 位浮点数。Double 是双精度:64 位。(这与您的系统架构无关。在 Java 中 Float 将始终为 32 位,而 Double 将始终为 64 位)。

于 2013-03-12T03:31:25.457 回答