- JAVA多維數組備考知識點(diǎn)解析 推薦度:
- 相關(guān)推薦
JAVA數組知識解析
學(xué)習JAVA數組的時(shí)候應該要了解JAVA數組的基本知識,下面小編為大家整理了JAVA數組知識解析,希望能幫到大家!

1. 一維數組
1.1 一維數組的定義
type arrayName[];type[] arrayName;
當中類(lèi)型(type)能夠為Java中隨意的數據類(lèi)型,包含簡(jiǎn)單類(lèi)型組合類(lèi)型,數組名arrayName為一個(gè)合法的標識符,[]指明該變量是一個(gè)數組類(lèi)型變量。
另外一種形式對C++開(kāi)發(fā)人員可能認為非常奇怪,只是對JAVA或C#這種開(kāi)發(fā)語(yǔ)言來(lái)說(shuō),另外一種形式可能更直觀(guān),由于這里定義的僅僅是個(gè)變量而已,系統并未對事實(shí)上例化,僅僅需指明變量的類(lèi)型就可以,也不需在[]指定數組大小。(第一種形式是不是僅僅是為了兼容曾經(jīng)的習慣,畢竟C語(yǔ)言的影響太大了?)
比如:
int intArray[];聲明了一個(gè)整型數組,數組中的每一個(gè)元素為整型數據。與C、C++不同,Java在數組的定義中并不為數組元素分配內存,因此[]中不用指出數組中元素個(gè)數,即數組長(cháng)度,并且對于如上定義的一個(gè)數組是不能訪(fǎng)問(wèn)它的不論什么元素的。我們必須為它分配內存空間,這時(shí)要用到運算符new,其格式例如以下:arrayName=new type[arraySize];當中,arraySize指明數組的長(cháng)度。如:intArray=new int[3];
為一個(gè)整型數組分配3個(gè)int型整數所占領(lǐng)的內存空間。
通常,這兩部分能夠合在一起,格式例如以下:
type arrayName=new type[arraySize]; 比如:int intArray=new int[3];
1.2 一維數組元素的引用
定義了一個(gè)數組,并用運算符new為它分配了內存空間后,就能夠引用數組中的每個(gè)元素了。數組元素的引用方式為:
arrayName[index]
當中:index為數組下標,它能夠為整型常數或表達式。如a[3],b[i](i為整型),c[6*I]等。下標 從0開(kāi)始,一直到數組的長(cháng)度減1。對于上面樣例中的in-tArray數來(lái)說(shuō),它有3個(gè)元素,分別為:
intArray[0],intArray[1],intArray[2]。注意:沒(méi)有intArray[3]。
另外,與C、C++中不同,Java對數組元素要進(jìn)行越界檢查以保證安全性。同一時(shí)候,對于每一個(gè)數組都有一個(gè)屬性length指明它的長(cháng)度,比如:intArray.length指明數組intArray的長(cháng)度。
public class ArrayTest{ public static void main(String args[]){ int i; int a[]=new int[5]; for(i=0;i<5;i++) a[i]=i; for(i=a.length-1;i>=0;i--) System.out.println("a["+i+"]="+a[i]); }}
執行結果例如以下:
C:/>java ArrayTesta[4]=4a[3]=3a[2]=2a[1]=1a[0]=0
該程序對數組中的每一個(gè)元素賦值,然后按逆序輸出。
1.3 一維數組的初始化
對數組元素能夠依照上述的樣例進(jìn)行賦值。也能夠在定義數組的同一時(shí)候進(jìn)行初始化。
比如:
int a[]={1,2,3,4,5};
用逗號(,)分隔數組的各個(gè)元素,系統自己主動(dòng)為數組分配一定空間。
與C中不同,這時(shí)Java不要求數組為靜態(tài)(static),事實(shí)上這里的變量相似C中的指針,所以將其作為返回值給其他函數使用,仍然是有效的,在C中將局部變量返回給調用函數繼續使用是剛開(kāi)始學(xué)習的人非常easy犯的錯誤。
2. 多維數組
與C、C++一樣,Java中多維數組被看作數組的數組。比如二維數組為一個(gè)特殊的一維數組,其每一個(gè)元素又是一個(gè)一維數組。以下我們主要以二維數為例來(lái)進(jìn)行說(shuō)明,高維的情況是相似的。
2.1 二維數組的定義
二維數組的定義方式為:
type arrayName[][];
比如:
int intArray[][];
與一維數組一樣,這時(shí)對數組元素也沒(méi)有分配內存空間,同要使用運算符new來(lái)分配內存,然后才干夠訪(fǎng)問(wèn)每一個(gè)元素。
對高維數組來(lái)說(shuō),分配內存空間有以下幾種方法:
1. 直接為每一維分配空間,如:
int a[][]=new int[2][3];
2. 從最高維開(kāi)始,分別為每一維分配空間,如:
int a[][]=new int[2][];a[0]=new int[3];a[1]=new int[3];
完畢1中同樣的功能。這一點(diǎn)與C、C++是不同的,在C、C++中必須一次指明每一維的長(cháng)度。
2.2 二維數組元素的引用
對二維數組中每一個(gè)元素,引用方式為:arrayName[index1][index2] 當中index1、index2為下標,可為整型常數或表達式,如a[2][3]等,相同,每一維的下標都從0開(kāi)始。
2.3 二維數組的初始化
有兩種方式:
1. 直接對每一個(gè)元素進(jìn)行賦值。
2. 在定義數組的同一時(shí)候進(jìn)行初始化。
如:int a[][]={{2,3},{1,5},{3,4}};
定義了一個(gè)3×2的數組,并對每一個(gè)元素賦值。
【JAVA數組知識解析】相關(guān)文章:
JAVA多維數組備考知識點(diǎn)解析201708-05
Java中的數組基礎知識整理10-21
Java數組的使用07-14
Java數組操作的方法11-09
Java中數組的特性09-18
Java數組的基礎學(xué)習教程08-12
Java如何打印數組11-01
如何正確使用Java數組11-04
Java數組的定義和使用09-04