parseLong的意思/做什么?

时间:2016-01-28 16:23:42

标签: java recursion

我已经在我的uni for java中介绍了递归函数,并且在这个过程中我第一次看到了这种类型的代码,parseInt .....是它喜欢....类似于系统输入,除了你直接从命令行输入整数?另外,(args [0])是什么意思,到目前为止,我所展示的只有String[] args ....有点困惑。

代码是:

private static long fact ( long n )
{
   if(n==0)
      return 1;
   else
       return n*fact(n-1);
}

public static void main(String[] args)
{
     long n = Long.parseLong(args[0]);
     System.out.println(fact(a));
}

1 个答案:

答案 0 :(得分:1)

要清除这一点。龙是一个阶级。课程以大写字母开头。 在您的示例中,您使用的是System和Long类。

对于每种原始数据类型,都有一个类。 (int,long,byte,float,double等。) 这些类包含一系列函数,您正在调用其中一个名为parseLong的函数。

现在您的输入值(存储在args [0]中)是字符串类型。 Long是一个数值,这两个不兼容。 因此,您必须解析args [0]的值以使其与变量n匹配。 请注意,n的数据类型为long(long n = ..)。所以你只是在改变数据类型。

第一行将您的输入(当您调用程序时)转换为所需的数据类型,在您的情况下很长(非常大的数字可以存储在那里)。这是通过调用Long.parseLong来完成的。之后,您将调用System.out.println()函数。此函数/方法在控制台上打印一行。 代码打印的是使用函数fact(long number)给定数字的阶乘。