黑马程序员技术交流社区

标题: 主函数main()的参数问题 [打印本页]

作者: 申绪胜    时间: 2011-11-22 14:09
标题: 主函数main()的参数问题
本帖最后由 申绪胜 于 2011-11-23 17:11 编辑

试问,我可不可以把主函数的main()方法里传的参数不是String类型的?

比如public static void main(int[] in)或者是public static void main(HashSet[] hash)
作者: 崔浩    时间: 2011-11-22 14:29
主函数是不可以的,
但是可以可以重载这个主函数的,
如果你要执行你的函数,jvm只认识public static void main(String[] int)参数类型为String的,参数名字可以改变的
作者: 肖岑锋    时间: 2011-11-22 14:44
不能。首先,string[] args是运行传入的参数是args是String类型的数组,是main方法的参数,但是这个参数是运行时从命令行传入的参数
public class test
{
public static void main (String args[])
{
  System.out.println(args[0]);
                   System.out.println(args[1]);
}
}
编译
javac test.java
运行
java test 1 2
程序输出
1
2
由于命令行参数,输入的数据都当String处理,没有别数据类型。所以只能是String[] args而不能是Int[] args。

作者: 袁世宇    时间: 2011-11-22 15:03
其实很简单 你就当它是约定俗成的就行
作者: 程立彬    时间: 2011-11-22 22:13
当然不行,main 的参数接受了一些程序运行时传进来的参数,如果不是肯定会出问题的,而且运行java程序,JVM会自动去寻找main入口。
作者: 李大伟    时间: 2011-11-22 23:45
崔浩 发表于 2011-11-22 14:29
主函数是不可以的,
但是可以可以重载这个主函数的,
如果你要执行你的函数,jvm只认识public static void  ...

跟你想的一样 ,英雄所见略同  
作者: 张冬冬    时间: 2011-11-23 01:01
本帖最后由 张冬冬 于 2011-11-23 01:01 编辑

答案肯定是不行的!

每一个程序都是从一个叫 public static void main(String[] args)  这样的语句开始执行的,这句话中只有args这个参数名字可以随便改

其余的任何一个单词都不能变包括大小写,变了的话程序找不到这句话,就找不到运行的入口,所以就没办法执行程序了。
作者: moonlight    时间: 2011-11-23 08:28
不行的,public static void main(String[] args),这条语句唯一能改掉的是args这个参数,其他的都不能改,否则虚拟机会不识别的。




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