java程序中String args[]起什么作用?

在下面这个程序中String args[]起什么作用?我学过C++,String args[]与C++中的什么类似?如果是C++,想要输出字符串只要在下面写cout<<"...."<<endl;就可以了,void main()中的括号为空,而java中为什么要写String args[]呢?
class Example{
public static void main(String args[]){
System.out.println("This is a simple Java program.");
}
}
既然String args[]或者String[] args表示给主方法传一个字符串数组,那么System.out.println(args[]);为什么是错误,args[]不就是那个字符串This is a simple Java program吗?
String args[]与This is a simple Java program是什么关系?如果没关系,为什么程序中去掉String args[]会出现错误?
不带String args[]的main函数和带String args[]的main函数有什么区别吗?详细讲一下吧,谢谢,我会追分的,我还17分

String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test 那么你在cmd运行 java test a b c 时,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中调用你输入的这些变量了。

args[]不就是那个字符串This is a simple Java program吗?
-------完全不是的,你理解不对。这样好了,你在运行的时候加个参数,比如 java test XX。然后在你的main函数里面加这段话:System.out.println("arg is"+args[0]),然后看看输出是什么?
是不是这个:
This is a simple Java program
arg is XX

你还可以试试这样,在运行时输入java test xx yy zz,并且在你的main函数里面加这段话:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然后看看输出是什么?
是不是:
This is a simple Java program
arg is xx yy zz

现在你理解了吗。。。

如果没关系,为什么程序中去掉String args[]会出现错误?
--------之所以去掉会出错在于,不带String args[]的main函数和带String args[]的main函数,本质上已经不是同一个函数了,java 本身不存在不带String args[]的main函数,所以当然出错了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-02-06
public static void main(String args[])
我来解释一下这句话吧
这句话是java的程序入口它写在主类里面的
首先为什么是public
因为要在类外面调用main()所以是public
为什么是static
因为系统开始执行一个程序前,并没有创建main()方法所在类的实例对象,它只能通过类名类调用主方法main()作为程序入口,所以该方法是static
为什么是void
因为主方法没有返回值
为什么main
主方法名
为什么是String args[]或者String[] args
这表示给主方法传一个字符串数组,字符串名是args
第2个回答  2007-02-06
在命令提示符中运行该程序时 可以附加参数运行 输入的参数会存入到字符传数组 args[]中
例如:在命令提示符中运行该程序的时候
假设该程序在D的JAVA文件夹中
D:JAVA\javac Example.java
D:JAVA\java Example 20
则屏幕中输出
This is a simple Java program.
而args[]中所存储的是20
相似回答