java main方法中的命令行参数
publicstaticvoidmian(Stringargs[]){System.out.println("HelloWorld");}1、args就是命令行参数是吧?...
public static void mian(String args[]){
System.out.println("HelloWorld");
}
1、args 就是命令行参数是吧?
2、这个参数在该程序里的作用是什么?在该程序中!
3、为什么mian方法的参数可以不给,而普通方法设置了参数,就一定要给。如:aa(String name){},如果aa函数里边不给个参数就会出错! 展开
System.out.println("HelloWorld");
}
1、args 就是命令行参数是吧?
2、这个参数在该程序里的作用是什么?在该程序中!
3、为什么mian方法的参数可以不给,而普通方法设置了参数,就一定要给。如:aa(String name){},如果aa函数里边不给个参数就会出错! 展开
2013-08-22
展开全部
作用:
当你使用命令行的形式运行.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函数,所以当然出错了。
当你使用命令行的形式运行.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函数,所以当然出错了。
2013-08-22
展开全部
这个参数可以你自己指定,他是一个字符串数组,接受一些参数做操作,在你这个程序里没有任何效果,因为你没有用上,说实话,这个以后估计你也用不上,你可以在命令行传两个参数进去,比较大小之类的,如果你没有指定的话,系统默认为空,就好比你说的aa(String name){}方法,你传个null也不会有错,只不过那是系统默认的,至于为什么有这个参数,那是系统规定的,而且有时候会用到,有什么不明白的在问我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-22
展开全部
表示从命令行读取的参数,如写了一Delete类,运行时,java Delete a.txt,那么数组args[0]的值为a.txt是string类型的。一般编程时用args.length得到参数的个数.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |