注册
 找回密码
 注册
江西广告网
查看: 302|回复: 0
打印 上一主题 下一主题

献给初学者

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-1-5 08:59:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
学习java也有段时间了,对于main的声明方式感觉很奇怪,今天特地查了一些资料总结一下: 如果有疏漏之处,望高手指出斧正 首先是main前面的单词 因为main方法是由java虚拟机调用的,所以必须为public, 又因为虚拟机调用main方法的时候不需要产生任何对象,所以声明为static ; 且不需要返回值,所以声明为void 所以最终为: public static void main(String[] args) 现在来看看参数部分: 我们可以做个实验: class Test { public static void main(String[] args) { System.out.println(args.length); System.out.println(args[0]); } } 然后编译运行: 在提示符窗口输入: (1) javac Test.java (2) java Test     结果为: 0 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at Test.main(Test.java:6) 这两行都可以看出args并没有分配空间(第二行说书组越界错误) 那么args参数到底是用来干什么的呢? 原来参数args是用来接收命令行的参数的 (但不包括java Test) 我们可以在输入(1)后输入: (3) java Test Roy 结果为: 1 Roy 下面我们来改写一下这个程序: class Test { public static void main(String[] args) { System.out.println(args.length); if(args.length>0) { for(int i=0;i<args.length;i ) System.out.println(args[i]); } } } 然后编译 (1) javac Test.java (2) java Test 结果为 0 再输入 (4) java Test Roy lx 结果为 2 Roy   lx   #
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表