前些日子,有網友問:在JAVA中 int[] a 這樣定義的數組和 int a[] 定義的數組有什麼區別?html
當時沒有細看,直接回復說,在JAVA中,二者是同樣的,沒有區別。java
回頭仔細看時,仍是稍有區別的。編程
按照正常的JAVA編程規範,先定義類型 而後是變量名結束,由此說來 int[] a 是符合JAVA定義變量規範的(推薦用法);而 int a[] 則多是爲了兼容C++中的變量定義。數組
因此,來看下面幾個數組定義的區別:oracle
int[] a; int b[]; int[] c []; int[] d,e; int f,g[]; int[] h,i,j[];
這樣定義的代碼看起來還有有點兒迷惑性的,哪些不是數組?哪些是1維數組?哪些是二維數組?spa
咱們看看《The Java® Language Specification》上關於數組的定義,就能明白了。code
書皮封面,可從Oracle官網下載:http://docs.oracle.com/javase/specs/index.htmlhtm
書中第10章節 Arrays 的 第二小節 10.2 Array Variables中,blog
因而可知,按照JAVA規範來是可以具備更加友好的代碼閱讀性的。ci
以上代碼的等價關係:
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;