JAVA中的數組給我的感覺就是C的動態數組,在C中或者其他的語言中聲明數組是只需type array_name[]就可以了,在聲明數組的同時也就確定了該數組的大小了,可以直接使用而不需要在給數組分配空間了,而在JAVA中不但要聲明數組而且要給聲明的數組分配存儲空間,如這樣
int test[] = new int[5]這樣的聲明格式了,給我的第一感覺就是這個怎么和其他語言的動態數組一樣。這是一維數組。
在往下看便是多維數組了,多維數組就是數組的數組了,這點在JAVA中給我的印象比較深,過去說數組說的是幾維在我記憶中好像很少出現過數組的數組了,看下什么是數組的數組了:
int test[][] = new int[4][5] 這其實也就是我們一般用來聲明數組的方法了,但在JAVA中還可以這樣來聲明
int test[][] = new int [4][];
test[0] = new int[5]
test[1] = new int[5]
test[2] = new int[5]
test[3] = new int[5]
這樣看起來是不是一目了然的明白了什么叫數組的數組了,看到這里的時候我想既然是數組的數組,那么test[0] = new int[2] test[1] = new int[3] 等不是也就可以成立了嗎?在往下看的時候果然發現真的可以這樣用,呵呵
如果這樣用的話那么存不存在數組越界的問題呢?看到示例程序是在第2個FOR循環中使用了for (j = 0 ,j<5,j++) 那么test[0]只有2存儲單元,看到這里想起了前面看到的在JAVA中數據類型是變量或者表達式的一種行為,而不能理解成為所占用的存儲空間。
明天繼續學習中。。。。