java main方法中的命令行参数

public static void mian(String args[]){
System.out.println("HelloWorld");
}
1、args 就是命令行参数是吧?
2、这个参数在该程序里的作用是什么?在该程序中!
3、为什么mian方法的参数可以不给,而普通方法设置了参数,就一定要给。如:aa(String name){},如果aa函数里边不给个参数就会出错!

作用:
当你使用命令行的形式运行.class文件时,向你的类传递参数.

C:\>java YourClassName 参数1 [参数2 参数3 ....]

参数之间用一个空格作为间隔符.

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个回答  推荐于2017-09-17
代表运行是传入的参数,
main(String[] args){
System.out.print("args[0] = " + args[0]);
}
如果运行的时候,假设程序名是testMain.java
然后输入 java testMain hello;
输出的就是args[0] = hello;
第2个回答  2010-02-07
String args[]保存的是 JAVA运行时传递给所运行类的参数,你这个类需要参数就传,不需要就不传.
你可以看看这个
public class TestMain{
public static void main(String args[]){
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}
}
接着用java TestMain first second运行
结果:
first
second
第3个回答  2010-02-07
args不是参数,他是String[]数组类型的数组名称,实际上是个变量。它用来存储你用命令后执行.class文件时后面跟的参数。args是可以变的,你可以变为你喜欢的任意标识符。普通方法 其实可以不给,只是你在设计方法的时候要给一个不传参数的方法。你应该是初学者吧,我也是,其实不用太钻研这些边边的问题,以后你自然会明白的!
个人意见!
第4个回答  2010-02-07
mark一下
虽然我不关心这个
不过有人可以回答的话我也看看