args.length的含义是什么?

时间:2014-06-21 07:37:03

标签: java

最近我遇到过这段代码,我真的很想知道何时以及如何使用这个args.length

import java.util.*; 

class Average
{

public static void main(String args[])

{

Scanner sc = new Scanner(System.in);

int choice;

int a=0,min=0,max=0,x;

int n = args.length;

System.out.println("1-Sum");

System.out.println("2-Average");

System.out.println("3-Minimum");

System.out.println("4-Maximum");

System.out.println("enter your choice");

choice = sc.nextInt();

for(int i=0;i<n;i++)
{

a+=Integer.parseInt(args[i]);

}

switch(choice)

{

case 1: System.out.println("The sum is :" +a/n);

break

case 2: System.out.println("The Average is :" +a/n);

break

case 3: for(int i=0;i<n-1;i++)

{

x=Integer.parseInt(args[i]);

if(x<Integer.parseInt(args[i+1]))

min=x;

else min=Integer.parseInt(args[i+1]);

}

System.out.println("The minimum is :" +min);

break;

case 4: for(int i=0;i<n-1;i++)

{

x=Integer.parseInt(args[i]);

if(x>Integer.parseInt(args[i+1]))

max = x;

else max=Integer.parseInt(args[i+1]);

}

System.out.println("The maximum is :" +max);

break;

}

}

}

4 个答案:

答案 0 :(得分:1)

main()方法是java程序执行开始的初始点。这就是main()方法为publicstaticvoid的原因。传递给main()方法的参数是String args[],即String数组。变量名不一定只能是args,它可以是任何变量名,即String names[]

现在,当没有传递参数时,为什么 args.length 为零:

当从命令行运行任何java程序时,它将以java ProgName运行。 命令行参数作为java ProgName Arg1 Arg2传递给java程序。 在此示例中,将两个参数传递给java程序ProgName。很简单,将参数传递给java程序与在任何操作系统上运行带参数的命令的方式相同。参数与命令一起传递,只是由分隔符作为&#34;空格&#34;。

Java解释器解释这些参数并传递给java程序的main()方法。 当我们从命令行向java程序传递参数时,它存储在args[]字符串数组中。这里传递了两个参数,同时允许运行java程序args[0]args[1],但args[2]不会。如果没有传递参数,则相同,因此java甚至不允许args[0]

Java将命令行参数解释为String数组,就像我们传递2个参数一样,它是一个带args[0], args[1]的数组,如果我们传递4个参数,它就是一个带args[0], args[1], args[2], args[3]的数组,当没有参数时传递它仍然是一个没有元素的String数组对象。

因此,即使我们没有将任何命令行参数传递给java程序,args.length仍然等于零 - (0)

答案 1 :(得分:0)

运行程序时,可以运行通过command-line arguments的程序。如果主要方法是:

public static void main(String args[])

参数将在名为String的{​​{1}}数组中接收。现在,关于你的问题:

args的含义是什么?

这是数组built-in property length的值,它将是固定大小。请注意,Java中的数组是一种特殊的对象。

答案 2 :(得分:0)

args.length是args []数组中的元素数。 args []数组包含从命令行传递给main函数的参数。

答案 3 :(得分:0)

args 数组中的元素数量,在 public static main String [] args )中定义。< / p>