Topic: 请问main函数参数中args是什么意思? |
Print this page |
1.请问main函数参数中args是什么意思? | Copy to clipboard |
Posted by: 我的剑会笑 Posted on: 2004-11-25 22:12 请问main函数参数中args是什么意思?有时候又是prar[],有时候是argc,我改了字母竟然不会有错,比如说改为abcd,这到底是为什么?这行参数有什么用?改为数字就不行. |
2.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: wuyongjin Posted on: 2004-11-25 23:13 是变量当然可以该了 不过不要该前面的String编译可能通过,不过运行可能出现exception |
3.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: woluty Posted on: 2004-11-25 23:34 还是不懂,能否详细点,谢谢!! |
4.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: xxdyy Posted on: 2004-11-26 13:34 可以视同一个字符串数组 |
5.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: xxdyy Posted on: 2004-11-26 14:44 可以试试以下程序 class T { public static void mian(String [] args) { System.out.println(args[0]); } } 编译程序 javac T.java 运行 java T "AAA" |
6.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: 浩羽totti Posted on: 2004-11-26 14:58 args[]是一个数组,在方法中,你使用它时就有用,你不用它就没有用,但也不能少。 |
7.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: april518 Posted on: 2004-11-27 21:03 以前好像见有人问过一次这个问题!依稀记得是用来存放命令用的!记得不太清了,楼主可以搜一下以前的帖子! |
8.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: yorksaddam Posted on: 2004-11-29 10:41 这是主函数里面的参数 和C里面的道理是一样的 |
9.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: april518 Posted on: 2004-11-30 14:52 我 查了 一下,这个是表示main()方法接受到了一个字符串数组,即位于命令行上的参数.<<java core>>.上次讲的有点不太对,见谅喔!有一个例子: public class Message{ public static void main(String[] a){ if(a[0].equals("-h") System.out.println("hello world"); else if(agr[0].equals("-g")) System.out.println("goodbye "); for(int i=0;i<a.length();i++) System.out.println(""+a[i]); } } 如果调用java Message -g cruel world! 可以看看输出结果!呵呵 |
10.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: 我的剑会笑 Posted on: 2004-11-30 16:06 谢谢楼上的april518 不过还是不明哦, 你写的程序好像运行不了,还是我太垃圾了呢? |
11.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: zhangwh6882 Posted on: 2004-12-02 17:53 楼上的程序需要稍微修改一下 public class Message{ public static void main(String[] a){ if(a[0].equals("-h")) System.out.println("hello world"); else if(a[0].equals("-g")) System.out.println("goodbye "); for(int i=0;i<a.length;i++) System.out.println(""+a[i]); } } 需要保存成Message.java (注意大小写) args实际上就是一个字符数组的名字,作用是用来存储java Message后面跟着传进来的参数。名字可以自定义,但是你改成数字当然不行了,需要符合java中变量的命名规则。如果代码里没有用到这个数组的话随便改都没有问题。但是如果程序里面使用了这个数组的话,改名就需要同时将调用的地方一起改掉。楼主比较一下下面两个程序就知道了。 保存为Message2.java public class Message1{ public static void main(String[] args){ //声明修改 if(a[0].equals("-h")) //调用没有修改,编译时报错 System.out.println("hello world"); else if(a[0].equals("-g")) System.out.println("goodbye "); for(int i=0;i<a.length;i++) System.out.println(""+a[i]); } } 保存为Message2.java public class Message2{ public static void main(String[] args){ //声明修改 if(args[0].equals("-h")) //调用相应修改,可以通过编译 System.out.println("hello world"); else if(args[0].equals("-g")) System.out.println("goodbye "); for(int i=0;i<args.length;i++) System.out.println(""+args[i]); } } |
12.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: liuyuan45 Posted on: 2004-12-03 13:38 楼上说的很详细,清楚,明白,顶顶顶!!! |
13.Re:请问main函数参数中args是什么意思? [Re: 浩羽totti] | Copy to clipboard |
Posted by: prettyxx Posted on: 2004-12-03 15:41 浩羽totti wrote: 我还是不明白,既然不用它就没有用,那为什么JAVA中还规定必须要写?总要有些道理的嘛 |
14.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: zhangwh6882 Posted on: 2004-12-03 16:41 prettyxx wrote: 因为java不知道你是不是会带参数执行。例如java Message 或者 java Message Hello。如果要求必须给出args参数。那么可以在程序中通过 if (args.length!=0) System.out.println("此程序不允许带参数执行"); 来避免出现无法处理的错误 所以即使不使用args,java也强制要求声明 |
15.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: april518 Posted on: 2004-12-03 16:51 对!楼上的这位大哥讲的好!不好意思啊!自己的错误还要让别人来勘误!见谅见谅!以后一定主注意! |
16.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: prettyxx Posted on: 2004-12-03 16:55 收到,那就是说对于MAIN函数,就只能带string的参数,而不是其他类型的了,是吗? |
17.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: april518 Posted on: 2004-12-03 17:12 差不多是这个意思吧!我觉得,在JAVA里面参数都是以字符串的形式来传递的!不知道我这个解释够不够官方!呵呵! |
18.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: zhangwh6882 Posted on: 2004-12-03 17:37 我也觉得应该只能是String类型吧,毕竟无法控制使用的人传什么参数,只有用String类型才可以安全地存储 |
19.Re:请问main函数参数中args是什么意思? [Re: zhangwh6882] | Copy to clipboard |
Posted by: 我的剑会笑 Posted on: 2004-12-15 21:56 zhangwh6882 wrote: 非常感谢!我是楼主,谢谢! 但是这里不是很懂,怎么通过“if (args.length!=0) System.out.println("此程序不允许带参数执行");”来避免呢?这样就能避免吗?你是说抛出例外吗? |
20.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: sailor Posted on: 2005-01-04 16:19 在 “if (args.length!=0) "后你可以做任何别的事情,想中断就中断,想扔异常就抛异常。"System.out.println("此程序不允许带参数执行");” 只不过是个例子而已! |
21.Re:请问main函数参数中args是什么意思? [Re: 我的剑会笑] | Copy to clipboard |
Posted by: dennisjl Posted on: 2005-01-05 16:15 一个main()函数只有是 main(String[] x)才是系统的main函数, 程序开始执行的函数。其实它也不过是一个函数而已,你不必想像为一个很特殊的东西,只是系统会去主动找这个函数来执行。 你也可以在程序中主动调用main(String[]),如: class A { public static void main(String[] x) { System.out.println("a"); } } public class Test{ public Test() { new A().main; } } 如果不加参数"String[]",就不是原来这个main函数了,只能叫做自己定义的一个函数。 至于String[] x 中的x 只是一个变量名,随便你定义。 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |