JAVA中關於數組的定義

前些日子,有網友問:在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;
相關文章
相關標籤/搜索