Java二维数组的声明和初始化
1.二维数组可以看成以数组为元素的数组;
2.Java中二维数组的声明和初始化应按照从高维到低维的顺序进行.
实例:
静态初始化:
Array2.java:
程序代码
1
2
3
4
5
6
7
8
9
10
11
|
public class Array2 { public static void main(String args[]) { int a[][] = {{ 1 , 2 },{ 3 , 4 , 5 , 6 },{ 7 , 8 , 9 }} ; for ( int i= 0 ; i <a.length ; i++) { for ( int j= 0 ; j<a[i].length ; j++) { System.out.println( "a[" + i + "][" + j + "]=" + a[i][j]) ; } } } } |
动态初始化:
程序代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
public class Array2D { public static void main(String args[]) { int i , j ; String s[][] ; s = new String[ 3 ][] ; s[ 0 ] = new String[ 2 ] ; s[ 1 ] = new String[ 3 ] ; s[ 2 ] = new String[ 2 ] ; for (i= 0 ; i<s.length ; i++) { for (j= 0 ; j <s[i].length ; j++) { s[i][j] = new String( "我的位置是:" + i + "," + j) ; } } for (i= 0 ; i<s.length ; i++) { for (j= 0 ; j<s[i].length ; j++) { System.out.println(s[i][j]) ; } } } } |
关于Java中的二维数组操作[实例]:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
public class Lesson{ public static void main(String [] args){ //二维数组的声明方式: //数据类型 [][] 数组名称 = new 数据类型 [长度][长度] ; //数据类型 [][] 数组名称 = {{123},{456}} ; /* int [][] arr = {{123},{456}}; //定义了两行三列的二维数组并赋值 for(int x = 0; x<arr.length; x++){ //定位行 for(int y = 0; y<arr[x].length; y++){ //定位每行的元素个数 System.out.print(arr[x][y]); } System.out.println("/n"); } */ int [][] num = new int [ 3 ][ 3 ]; //定义了三行三列的二维数组 num[ 0 ][ 0 ] = 1 ; //给第一行第一个元素赋值 num[ 0 ][ 1 ] = 2 ; //给第一行第二个元素赋值 num[ 0 ][ 2 ] = 3 ; //给第一行第三个元素赋值 num[ 1 ][ 0 ] = 4 ; //给第二行第一个元素赋值 num[ 1 ][ 1 ] = 5 ; //给第二行第二个元素赋值 num[ 1 ][ 2 ] = 6 ; //给第二行第三个元素赋值 num[ 2 ][ 0 ] = 7 ; //给第三行第一个元素赋值 num[ 2 ][ 1 ] = 8 ; //给第三行第二个元素赋值 num[ 2 ][ 2 ] = 9 ; //给第三行第三个元素赋值 for ( int x = 0 ; x<num.length; x++){ //定位行 for ( int y = 0 ; y<num[x].length; y++){ //定位每行的元素个数 System.out.print(num[x][y]); } System.out.println( "/n" ); } } } //数组值arr[x][y]表示指定的是第x行第y列的值。 //在使用二维数组对象时,注意length所代表的长度, //数组名后直接加上length(如arr.length),所指的是有几行(Row); //指定索引后加上length(如arr[0].length),指的是该行所拥有的元素,也就是列(Column)数目。 |
再来看一个例子:两个二维数组,将它们整合为一个新的二维数组,元素为两数组对应元素的和。输入两数组: {{1,5},{2,3},{6,5}}, {{4,2},{2,6},{5,7}}
输出打印: {{5,7},{4,9},{11,12}}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
代码: class arraysCtrl{ static void arraysAdd( int [][] a, int [][] b) { StringBuffer sbResult = new StringBuffer( "{" ); int [][] result = new int [a.length][b.length]; for ( int i= 0 ;i<a.length;++i) { sbResult.append( "{" ); for ( int j= 0 ;j<a[i].length;++j) { result[i][j] = a[i][j]+b[i][j]; sbResult.append(result[i][j]); if (j == a[i].length- 1 ) { if (i == a.length- 1 ) { sbResult.append( "}" ); } else { sbResult.append( "}," ); } break ; } sbResult.append( "," ); } if (i == a.length- 1 ) { sbResult.append( "}" ); break ; } } System.out.println(sbResult); } public static void main(String[] args) { int [][] aTst1 = {{ 1 , 5 },{ 2 , 3 },{ 6 , 5 }}, aTst2 = {{ 4 , 2 },{ 2 , 6 },{ 5 , 7 }}; arraysAdd(aTst1,aTst2); } } |