二維數(shù)組的定義
type arrayName[ ][ ];
type [ ][ ]arrayName;
|
只是形式上的差別,大家可以根據(jù)自己的習(xí)慣來選擇。
二維數(shù)組的初始化
1.靜態(tài)初始化
int intArray[ ][ ]={{ 1 , 2 },{ 2 , 3 },{ 3 , 4 , 5 }};
|
Java語言中,由于把二維數(shù)組看作是數(shù)組的數(shù)組,數(shù)組空間不是連續(xù)分配的,所以不要求二維數(shù)組每一維的大小相同。
2.動態(tài)初始化
1) 直接為每一維分配空間,格式如下:
arrayName = new type[arrayLength1][arrayLength2];
int a[ ][ ] = new int [ 2 ][ 3 ];
|
2) 從最高維開始,分別為每一維分配空間:
arrayName = new type[arrayLength1][ ];
arrayName[ 0 ] = new type[arrayLength20];
arrayName[ 1 ] = new type[arrayLength21];
…
arrayName[arrayLength1- 1 ] = new type[arrayLength2n];
|
3) 例:
二維簡單數(shù)據(jù)類型數(shù)組的動態(tài)初始化如下:
int a[ ][ ] = new int [ 2 ][ ];
a[ 0 ] = new int [ 3 ];
a[ 1 ] = new int [ 5 ];
|
對二維復(fù)合數(shù)據(jù)類型的數(shù)組,必須首先為最高維分配引用空間,然后再順次為低維分配空間。而且,必須為每個數(shù)組元素單獨(dú)分配空間。例如:
String s[ ][ ] = new String[ 2 ][ ];
s[ 0 ]= new String[ 2 ]; //為最高維分配引用空間
s[ 1 ]= new String[ 2 ]; //為最高維分配引用空間
s[ 0 ][ 0 ]= new String( "Good" ); // 為每個數(shù)組元素單獨(dú)分配空間
s[ 0 ][ 1 ]= new String( "Luck" ); // 為每個數(shù)組元素單獨(dú)分配空間
s[ 1 ][ 0 ]= new String( "to" ); // 為每個數(shù)組元素單獨(dú)分配空間
s[ 1 ][ 1 ]= new String( "You" ); // 為每個數(shù)組元素單獨(dú)分配空間
|
二維數(shù)組元素的引用
對二維數(shù)組中的每個元素,引用方式為:
arrayName[index1][index2]
|
例如:
num[ 1 ][ 0 ];
|
二維數(shù)組舉例:兩個矩陣相乘
public
class
MatrixMultiply{
public
static
void
main(String args[]){
int
i,j,k;
int
a[][]=
new
int
[
2
][
3
];
//動態(tài)初始化一個二維數(shù)組
int
b[][]={{
1
,
5
,
2
,
8
},{
5
,
9
,
10
,-
3
},{
2
,
7
,-
5
,-
18
}};
//靜態(tài)初始化一個二維數(shù)組
int
c[][]=
new
int
[
2
][
4
];
//動態(tài)初始化一個二維數(shù)組
for
(i=
0
;i<
2
;i++)
for
(j=
0
; j<
3
;j++)
a[i][j]=(i+
1
)*(j+
2
);
for
(i=
0
;i<
2
;i++){
for
(j=
0
;j<
4
;j++){
c[i][j]=
0
;
for
(k=
0
;k<
3
;k++)
c[i][j]+=a[i][k]*b[k][j];
}
}
System.out.println(
"*******Matrix C********"
);
//打印Matrix C標(biāo)記
for
(i=
0
;i<
2
;i++){
for
(j=
0
;j<
4
;j++)
System.out.println(c[i][j]+
" "
);
System.out.println();
}
}
}
2015職稱計(jì)算機(jī)考試書PowerPoint2007中 .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 | |
2015年全國職稱計(jì)算機(jī)考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |