【问题标题】:Java: Basic questions [duplicate]Java:基本问题[重复]
【发布时间】:2013-02-27 11:12:45
【问题描述】:

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

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

关于原语,floatdouble 有什么区别?

【问题讨论】:

  • 尝试将您的两个问题复制粘贴到 Google 并阅读结果。
  • 像这两个完全不相关的问题应该分开发布。
  • 嗨,克里斯,欢迎来到 Stack Overflow。请花点时间浏览FAQ,以便更好地了解此处适合的问题。

标签: java string double main


【解决方案1】:

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);
    }
  }
}

float 和 double 的区别,http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

【讨论】:

  • 其实不正确
  • @ZagorulkinDmitry 不是吗?请详细说明。
  • 什么,args[0] 是程序名吗?如果是这样,你就有点迂腐了。为什么会出现双重反对票?
  • @ktm5124 +1 平衡。
  • 输入:主要方法是什么。 Args[0]=什么... Args[4]=方法
【解决方案2】:

为什么main方法必须总是接受一个String[]? --> public static 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 ]
    }
}

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

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

【讨论】:

    【解决方案3】:

    String[] 因为你的程序的参数总是被读取为字符串。

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-05
        相关资源
        最近更新 更多