public static void main(String[] args)和
public static void main(String args[])有什么区别啊

解决方案 »

  1.   

    可是用OnlineJudge public static void main(String[] args)会编译错误,这是怎么回事啊
      

  2.   

    public static void main(String args[]) {
    System.out.println("1");
    }

    public static void main(String[] args) {
    System.out.println("1");
    }
    应该编译都能通过吧?
    只不过一般推荐第二种方式而已。。
    你发一下你的全代码我看看
      

  3.   

    都一样。不过某些公司比如华为java编码规范要求要 类型[] 变量名。。如果公司没规定就按个人习惯了。。据说还有效率问题,这个就不清楚了,反正效率高也搞不到哪去。。
      

  4.   


    这个能验证通过
     import java.util.*;
    public class Main
    {
                public static void main(String args[]) 
                {
                        Scanner scan=new Scanner(System.in);
                        int a=scan.nextInt(),b=scan.nextInt();
                        System.out.println(a+b);
                }
    }这个就说“Main.java:3: class main is public, should be declared in a file named main.java
    public class  main{
           ^
    1 error”import java.util.*;
    public class Main
    {
                public static void main(String[] args) 
                {
                        Scanner scan=new Scanner(System.in);
                        int a=scan.nextInt(),b=scan.nextInt();
                        System.out.println(a+b);
                }
    }
      

  5.   

    第二个可以运行的,
    你应该是放到了两个class文件里面了吧?
    不知道有没有放到package里面。
    第二个报错是因为你的class文件的名字对应
      

  6.   

    怎么会编译错误啊,你用的是java编译器吗?
      

  7.   

    都一样,只是规范问题。 
    当创建一个 Java 应用程序时, main() 方法有个唯一的字符串数组参数: public static void main(String args []) 。编译器并不在意您用什么参数名,只在意它是不是一个 String 对象的数组。
    为了突出这个特点声明数组时将【】提前。
    对于数组声明来说,方括号可以处于三个位置中的其中一个:
    int[] variable、int []variable 以及 int variable[]。
    第一个位置说明变量是 int[] 类型的。后两个说明变量是一个数组,该数组是 int 类型的。
    注意:听起来我们似乎是在讨论语义学。但是,在声明多个变量时,根据所使用的格式,会存在差异。格式int[] var1, var2; 将会声明两个 int 类型的数组变量,而 int []var1,var2; 或 int var1[], var2; 将声明一个 int 类型的数组和另一个只是 int 类型的变量。
      

  8.   

    基本是没有什么区别的,习惯用public static void main(string[] args){}