A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhrnghgwsws 中级黑马   /  2014-5-24 18:21  /  1924 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

主函数是被jvm调用的,我们知道调用一个函数都要往里边传与之相对应的参数(实际参数),那么jvm调用main时,参数传的是什么呢?

10 个回复

倒序浏览
传的参数是(String[] args)  哈哈
回复 使用道具 举报
传的是长度为零的字符串 像""这样
null表示字符串指向任何东西时候调用方法会出现空指针异常
而""表示指向长度0字符串时候调用方法安全
回复 使用道具 举报
毕老师讲过是空参数,是个空的字符串数组,String argu后面的argu可以随便写成别的
回复 使用道具 举报
长度为零的字符串数组!
回复 使用道具 举报
你想传什么可以自己决定,参数会存在 String【】args 数组里。
回复 使用道具 举报
class MainDemo
{
        public static void main(String[] args)
        {
                //System.out.println(args);//打印的结果:[Ljava.lang.String;@15db9742
                //System.out.println(args.length);//字符串数组长度为0,
                //System.out.println(args[0]);//java.lang.ArrayIndexOutOfBoundsException
               


                        /*String[] arr={"hha","hhe","hiahia"};
                        System.out.println(arr.length);
                        MainTest.main(arr);*/
                        /*System.out.println(args.length);
                        for(int x=0;x<args.length;x++)
                                System.out.println(args[x]);*/
        }
}
class MainTest
{
        public static void main(String[] args)
        {
                for(int x=0;x<args.length;x++)
                        System.out.println(args[x]);
        }
}
分批打开注解,编译MainDemo后运行,会得到对应的注释。
说明,在默认情况下 jvm在调用主函数时,传入的是new String[0];
当然,也可通过虚拟机直接在传递参数给主函数,举例格式:编译步骤不变;在运行时:java  MainDemo  参数列表 (传入过个参数,中间使用空格隔开)

还可以在程序内定义好一个字符串数组,直接传递给需要被调用的主函数!





评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
恩。yinxjfly 同学说的很全面,学习了。。
回复 使用道具 举报
参数你可以随便定义  不一定就要写 args
回复 使用道具 举报
少先队员 发表于 2014-5-25 01:48
参数你可以随便定义  不一定就要写 args

是的是的!参数名称可以自己重新定义!但是为了规范起见(至少显得比较顺眼),用args还是不错的!:lol
回复 使用道具 举报
yinxjfly 发表于 2014-5-25 00:31
class MainDemo
{
        public static void main(String[] args)

多谢版主!第一次得到技术分,心情你懂的!:)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马