JAVA中关于数组的定义

前些日子,有网友问:在JAVA中 int[] a 这样定义的数组和 int a[] 定义的数组有什么区别?

当时没有细看,直接回复说,在JAVA中,两者是一样的,没有区别。

回头仔细看时,还是稍有区别的。

按照正常的JAVA编程规范,先定义类型 然后是变量名结束,由此说来 int[] a 是符合JAVA定义变量规范的(推荐用法);而 int a[] 则可能是为了兼容C++中的变量定义

所以,来看下面几个数组定义的区别:

int[] a;
int b[];

int[] c [];

int[] d,e;

int f,g[];

int[] h,i,j[];

这样定义的代码看起来还有有点儿迷惑性的,哪些不是数组?哪些是1维数组?哪些是二维数组?

我们看看《The Java® Language Specification》上关于数组的定义,就能明白了。

 

 

书皮封面,可从Oracle官网下载:http://docs.oracle.com/javase/specs/index.html

书中第10章节 Arrays 的 第二小节 10.2 Array Variables中,

由此可见,按照JAVA规范来是能够具有更加友好的代码阅读性的。

以上代码的等价关系:

int[] a;           // = int[] a;
int b[];           // = int[] b;
int[] c [];        // = int[][] c;
int[] d,e;         // = int[] d;   int[] e;
int f,g[];         // = int f;   int[] g;
int[] h,i,j[];     // = int[]h;   int i[];   int[][] j;
posted @ 2015-11-02 17:06  雨之殇  阅读(842)  评论(0编辑  收藏  举报