主函数 大家都会写吧。
大家一直都不知道为何这样设计,这样设计有什么好处呢?
白话解释:
main函数的修饰符是public: 公共的
为何不用private 等等的修饰符 而规定只用public呢?
public修饰符的权限在 其他 修饰符中 权限是最大的
用public来修饰main 是为了让java虚拟机能访问这个主函数(程序入口),是在任何状态中都能调用,所以才不用private, 你假设下 你把main函数用private修饰的话,java虚拟机能访问到这个主函数(程序入口)吗? 答案是不能 你想想看 连main都进不去了 谈何编译你的程序。。。。
main函数的详解:
public : 公共的。 权限是最大,在任何情况下都可以访问。 private
原因: 为了保证让jvm在任何情况下都可以访问到main方法。
static: 静态。静态可以让jvm调用main函数的时候更加的方便。不需要通过对象调用。
void: 没有返回值。 因为返回的数据是 给 jvm,而jvm使用这个数据是没有意义的。所以就不要了。
main: 函数名。 注意: main并不是关键字,只不过是jvm能识别的一个特殊的函数名而已。
arguments :担心某些程序在启动需要参数。
下面大括号区域只做了解,不懂以后的章节我会点出的。。别急哈 我现在只是顺便提出来说说
{比如说QQ 启动的时候需要用户输入一些数据,所以sun公司想的挺周到。不过一般录入数据 我们都是用Scanner 用Scanner 能让用户随时随地的输入数据 相比args 比较灵活, 现在很少人使用args 来输入数据了}
那么我们怎么给args数组传参呢?
测试代码1(查看args数组的长度):
class Demo1 { public static void main(String[] args) { System.out.println("数字的长度:"+args.length); } }运行结果:
(给args数组传参):
1.先把测试代码1编译:
2.
java Demo1 参数1 参数2 参数3 我传了 1 2 3 3个参数 ,下面我们来看下是不是真的传进去了
测试代码2(遍历args数组的参数):
class Demo1 { public static void main(String[] args) { System.out.println("数字的长度:"+args.length); for(int i = 0 ; i < args.length ; i++){ System.out.print(args[i]+","); } } }
运行结果: