本人刚开始学习JAVA,想问一个问题
public static void main(String[] args)
程序的开始要写上面这个语句
请问:
1为什么要有static
2为什么String后面要加上[] 
参数args是可以随便写的?

解决方案 »

  1.   

    static 是静态 ,所以main方法才先执行。
    String[]是数组,提供多个参数,当然有[]了。
    后面是参数名,自己随便改写。
      

  2.   

    对于初学者,只能告诉你们,记住这一句 public static void main(String[] args)  就行了,习惯就好了~~~
      

  3.   

    JAVA设定先从这个MAIN里先执行,不是随便写的,是固定的.规定而已,也没什么为什么.
      

  4.   

    main方法是程序的入口,只有使用static才可以不用创建实例就可以调用该方法。
    args是参数列表,在执行程序时可以加入相应参数.比如:public class Test{
        public static void main(String[] args){
            for(int i=0;i<args.length;i++){
                System.out.println("args" + i + "=" + args[i]);
    }
        }
    }运行java Test args1 args2后控制台结果为:
    args0=args1
    args1=args2
      

  5.   

    一种格式的要求!
    也可以写成下面这种
    public static void main(String args[]){}
      

  6.   

    我建议你去看看“孙鑫”老师弄的java视频教学,哪里可以找到答案。
      

  7.   

    找个java基础教程,从头一步一步来,到最后就明白了,这一行命令涉及了很多知识
      

  8.   

    支持11喽的."孙鑫"的教程真的不错.对于楼主的问题.public static void main(String[] args)是一个入口函数.static为静态的.初始化返回数组String[]的内存空间.后面的参数列表可以自己改
      

  9.   

    着是JAVA里的死规范,记住就可以了
      

  10.   

    6楼正解~~~~~补充:args只是一个名字,有的还写成avgs
      

  11.   

    没有方法调用main,所以就自己加载自己用static
    ,不知道,这么说对不对,
      

  12.   

    这里好像还涉及到MAIN为什么是静态方法的问题。返回类型为什么是VOID,为什么要给一个数组做参数
      

  13.   

    有main的都从main开始执行 但是不一定所有程序都有main
      

  14.   

    public static void main(String[] args)
    程序的开始要写上面这个语句
    请问:
    1为什么要有static
    static表示主函数方法是静态的
    2为什么String后面要加上[] 
    参数args是可以随便写的? 
    String[] 是一个参数数组,如果有参数会保存到这样一个数组中去
    args的名字可以随便取··
      

  15.   

    public static void main(String[] args)这绝对不是凭空想出来的,也不是没有道理的死规定,而是java程序执行的需要。jvm在试图运行一个类之前,先检查该类是否包含一个特殊方法。这个方法必须是公有的,以便在任何位置都能访问得到。这个方法必须是static的,因为这个方法不能依赖任何该类的实例即可运行,而非static的方法,在运行之前要先创建该类的实例对象。这个方法没有返回值。和C/C++程序不一样,java的程序默认都以常态结束,所以main不返回int。如果要以非常态结束程序,可以用System.exit(1)。这个方法必须可以接受数目不定的String类型的参数,因为运行者可能要附加运行参数。
    如java HelloWorld jack 100,这里的jack和100就是运行参数。
    为什么是String呢?因为String具有普遍性。任何字面形式都可以解释成String,而其他类型则不然(如jack就不能解释成整数或浮点数),所以用String来存储参数最合适。
    而因为参数数目不限一个,所以用了数组,即String[]。在Java 1.5以后,还可以写成String...,表示数目不定。
    至于参数的变量名可以任意,只要保证在方法内部按该变量名来获得参数就行了,从变量的作用角度来说,叫arguments或args当然是最合适的。至于这个方法的名字为什么一定是main,有历史原因,因为最早的C以main函数作为程序入口,java沿用了这个历史传统。
      

  16.   


    就是这样的,用过CPP的人写dos程序的人也许不会有这个问题,你在执行java程序的时候也是可以参数的
    例如:
    java ××× arg1 arg2
      

  17.   

    public static void main(String[] args) 同时也可以这么写:
    public static void main(String args[]) 
      

  18.   

    恩,楼上的很多朋友说是死规矩也不能这样说,这些都是有道理的static:程序入口在main(),所以必须是静态的,不能依赖于其他的任何类,同理也显然要用public而String[] args则是给用户提供能带参数执行该程序。如"java XX s dfd",便于某些程序的要求
    当然args是可以随便的,只是个习惯用args
      

  19.   

    建议楼主多看看书吧,你肯定是刚看了几页书或者刚些了个HELLOWORLD之类的,其实每本JAVA的书都会说到相关的东西
      

  20.   

    刚开始教我们JAVA的老师说:你就记住这个格式,他就是这么写。我们就都记住了。
    后来老师说:java 中 main()方法是整个程序的入口,要用static 。让程序一开始就加载这个方法。
    String[]是一个数组类型的,用来存放数据。也可以写成
    public static  void main(String args[]) {}
    args 是参数名,你可以随便写的。不过最好还是记住他,就那么写的。
    毕竟大部分都是那么写的。
    呵呵~~
      

  21.   

    其实args 是 argument(变量) 的复数形式的缩写。(arguments) :-)
      

  22.   

    补充:因为一个类在jvm运行之前不可能有一个实例,所以main方法要定义成static。静态方法是一个类方法,不需要类的实例,这样main方法才可以被jvm直接调用。
      

  23.   

    static 是静态标识,String[]是数组,args是系统参数
      

  24.   

    public是公有的,class是类定义,HelloWorld是一个类,也是一个程序,static是静态变量定义,作用就是变量不需要实例化,HelloWorld相当于人类,定义的HelloWorld中的A对象相当于某个人,如果需要调用帽子,就可以调用人类的帽子,而不需要实例化调用某个人的帽子。Sting是字符串。args是数组变量。