Java:基本问题

时间:2013-03-12 03:28:38

标签: java string double main

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

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

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

4 个答案:

答案 0 :(得分: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);
    }
  }
}

对于float和double之间的差异,http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

  

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

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

java SomeClass [list of arguments, space-separated]

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

以下是您可以对参数做的一些事情:

  1. 将它们视为文件的路径并加载它
  2. 将它们视为选项(例如,详细,无声,日志错误等)
  3. 以其他方式(例如,用户名和生日)将它们视为对程序的输入
  4. 如果你想使用这些参数,你可以这样做。

    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 :(得分:0)

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

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