黑马程序员技术交流社区

标题: 请问,主函数中args是怎么传参数的。 [打印本页]

作者: wangyuyus    时间: 2013-11-21 17:12
标题: 请问,主函数中args是怎么传参数的。
这个里边的args 代表的是什么呀
作者: 汪洋大海    时间: 2013-11-21 17:27
是一个String类型的数组。可以传入值。在运行时行入。如:java PicClient abc
这里面的abc就是传入的值。
这时。args这个数组的长度就是1了。
作者: freehiker    时间: 2013-11-21 20:57
args是arguments的缩写,代表一个参数,如果是通过cmd命令行的模式传递参数的话可以采用以下格式:
类文件:MyClass.class
命令:java MyClass 需要传入的参数
若是通过eclipse工具的话,可以在代码文件上右击,打开run as中的configurations中的Arguments中写入参数
作者: che201311    时间: 2013-11-21 23:45
第一、程序使用者可以在命令行状态下向某个类传递参数。看下面的例子:
  public class ArgsDemo {
  public static void main(String[] args) {
  String str = new String();
  for (int i = 0; i < args.length; i++) {
  System.out.println(args[i]);
  str += args[i];
  }
  System.out.println(str);
  }
  }
  使用javac ArgsDemo.java命令生成ArgsDemo.class文件;然后使用“java ArgsDemo 参数一 参数二 参数三 …”的格式向ArgsDemo类传递参数。该示例程序将首先输出参数,然后输出所有参数的和。比如java ArgsDemo a b c,将得到这样的输出:
  a
  b
  c
  abc
  需要注意的是,如果这里的循环条件不是i <args.length,而是i <5,则在命令行中输入的参数必须是5个,否则将会报错,错误类型为:
  Exception in thread “main” java.lang.ArrayIndexOutOfBoundException:3
  at ArgsDemo.main(ArgsDemo.java:5)
  第二、可以在另一个类中向包含main()的类传递参数,如下例:
  public class A {
  public static void main(String[] args)
  {
  for(int i=0;i <args.length;i++)
  System.out.println(args[i]);
  }
  }
  public class B {
  public static void main(String[] args)
  {
  c = new A();
  String[] b = {"111","222","333"};
  c.main(b);
  }
  }
  首先定义一个class A,在A中定义一个main()函数,在该函数中输出参数args。然后定义一个classB,在B中初始化一个A的实例c,然后向c传递参数,并且调用c的main方法打印出传入的参数值。输出结果如下:
  111
  222
  333
  由于main()函数是静态函数,即不需要实例化也能使用,所以B使用下面的写法也能完成相同的功能:
  public class B {
  public static void main(String[] args)
  {
  //A c = new A();
  String[] b = {"111","222","333"};
  A.main(b);
  }
  }
  总结:参数args的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段。此外在其他类中直接使用main()函数,并传递参数也是可行的,虽然这种方法不太常用,但毕竟为我们提供了一种选择
作者: likeermei    时间: 2013-11-22 00:27
而args是一个字符串数组的变量名,不是关键字,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2