成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Java中的數(shù)組聲明和初始化。當(dāng)數(shù)組的下標(biāo)索引的位置在聲明中更改時(shí),數(shù)組的行為將有所不同

瀏覽:129日期:2024-04-30 18:53:40
如何解決Java中的數(shù)組聲明和初始化。當(dāng)數(shù)組的下標(biāo)索引的位置在聲明中更改時(shí),數(shù)組的行為將有所不同?

看一下JLS onArrays:

的[]可能顯示為在聲明的開頭所述類型的部分,或作為說明符用于特定變量,或兩者的一部分。

聲明符中允許使用括號(hào)來表示C和C ++的傳統(tǒng)。但是,變量聲明的一般規(guī)則允許括號(hào)同時(shí)出現(xiàn)在類型和聲明符中,以便局部變量聲明:

float[][] f[][], g[][][], h[]; // Yechh!

等效于一系列聲明:

float[][][][] f;float[][][][][] g;float[][][] h;

因此,例如:

int []p, q[];

只是

int[] p, q[]

實(shí)際上是

int p[]; int q[][]

其余的都差不多。

解決方法

以下是Java中顯而易見的常用數(shù)組聲明和初始化。

int r[],s[]; //<-------r=new int[10];s=new int[10];

當(dāng)[]在聲明語句中更改的位置時(shí),非常相似的情況會(huì)有所不同,如下所示。

int []p,q[]; //<-------p=new int[10];q=new int[10][10];

請(qǐng)看報(bào)關(guān)單。的位置[]已從更改r[]為[]p。在這種情況下,該數(shù)組的q行為類似于一個(gè)類型為數(shù)組的數(shù)組int(與前一種情況完全不同)。

問題: 為什么q在此聲明int []p,q[];中將視為二維數(shù)組?

附加信息:

以下語法看起來很奇怪。

int []a[];

但是,這符合要求,并且行為類似于int a[][];或int [][]a;。

因此,以下情況都是有效的。

int [][]e[][][];int [][][][][]f[][][][];

標(biāo)簽: java