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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 含笑 中级黑马   /  2015-6-23 22:37  /  369 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
public static void main(String[] args)

public:权限修饰符,权限最大。
static:随着MianDemo类的加载而加载,消失而消失。
void:  没有返回值
main: 函数名,jvm识别的特殊函数名
(String[] args):定义了一个字符串数组参数
*/

class MainDemo
{
        public static void main(String[] args)
        {
                String[] arr = new String[]{"zhang","li","wang","zhao"};
                MainTest.main(arr);
        }
}
class MainTest
{
        public static void main(String[] args)
        {
                for (int x=0; x<4; x++)
                {
                        System.out.println(args[x]);
                }
               
        }
}


/*
1、运行java MainDemo时,提示越界,因为jvm传过来的是一个长度为0的数组,不存在有元素。
2、但是如果运行java MainDemo zhang li wang zhao  后,输出结果为zhang。
   因为通过这个命令,就相当于jvm给main()函数传递了一个String[] args = new String[]{"zhang","li","wang","zhao"}的数组。
*/

class MainDemo
{
        public static void main(String[] args)
        {
                System.out.println(args.length);
                System.out.println(args[0]);
        }
}

/*
总结:
1、main()函数是被jvm调用,jvm给main()传了一个长度为0的字符串的数组,也就是new String[0]
2、可以通过类名.main()进行传值操作,因为main()方法是static的。
*/

1 个回复

倒序浏览
void 有返回值,只是可以不写
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马