java程序入口为什么有的空括号在args前面有的?
public static void main(String[] args){}与public static void main(String args[])的区别
public static void main(String[] args){}与public static void main(String args[])的区别
2016-11-05
其实没什么区别的;当初我也是这样的疑问,呵呵;
非要说区别就看下面:
执行效果上没有不同, 但在语法意义上略有不同.
比如, String与String[], 前者叫字符串类型而后者叫字符串数组类型.
String args[]单从类型上来讲属于字符串类型, 而从变量本身来讲是一个数组类型, 因此组合起来说明此变量为一个字符串类型的数组, 也就是说数组中的所有元素都为String类型.
String[] args单从类型上来讲属于字符串数组类型, 而从变量本身来讲就是一个单纯的引用变量, 因此这种方式可以更明显地体现出是否为数组这一点. 因为从类型上就可以直接看出变量为一数组类型引用.
正如第一句话所说的那样, 单单两句是比较不出什么不同的, 但如果你这样写.
String args[], argt;
String[] args, argt;
这就有很显示的差异了. 在第一句中args是字符串数组类型, 而argt则就是字符串变量. 在第二句中args与argt都是字符串数组类型.
那就是:string[] args,声明一个String数组,名字叫args. string args[],声明一个叫args的数组,类型是String.
其实功能作用是完全一样的,两种写法都可以!
这是数组的两种写法,
大多数程序员喜欢使用String[] args这种风格的写法,因为它把元素类型 String[] 与变量名清晰的分开了。
举报