二维数组
二维数组的创建:
二维数组的创建也包含两种方式。
- 先声明,再new运算符进行分配
声明二维数组的语法如下:
数组元素的类型
数组名字[][];
数组元素类型[][] 数组名字;
二维数组在声明时也没有分配内存空间,同样要使用 new关键字来分配内存,然后才可以访问每个元素。
而对于高维数组,有两种为数组分配内存方式:
(1) 为每一维数组分配内存。
a=new int[2][4];
(2)
分别为每一维数组分配内存。
a=new int[2][];
a[0]=new int[2];
a[1]=new int[3];
-
声明的同时为数组分配内存
第二种方式同第一种实现的功能相同。使用这种方式为二维数组分配内存时,首先指定最左边维数的内存,然后在单独给余下的维数分配内存
二维数组初始化:
语法如下:
(1)
int ace[][]={num1,num2,num3…,numn}
int :数组数据类型。
ace:数组名称,一个合法的标识符。
num:数组各个元素的值。
(2)
int MVP[][]={{1,2},{2,3}};
初始化二维数组后,要明确数组的下标都是从0开始的
int型二维数组是以int a[][]来定义的,所以可以直接给a[x][y]赋值。
二维数组的使用:
1使用二维数组输出一个3行4列且所有所有元素的都是且所有元素都为0的矩阵码,示例代码如下:
public class ajjjj {
public static void main(String[] args) {
int a[][]=new int[3][4];
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
System.out.print(a[i][j]);
}
System.out.println();
}
}
}
注意:对于整形二维数组,创建成功之后系统回个数组中的每一个元素赋予初始值0;
数组的基本操作:
-
遍历数组
-
填充替换数组元素
-
对数组进行排序
-
复制数组
-
数组查询
首先来看一下遍历数组:
遍历数组就是获取数组中的每一个元素。通常遍历数组都是使用for循环来实现的。下边就来详细介绍一下便利二维数组的方法。
遍历二维数组需使用双层for循环,通过数组的length属性可获得数组长度。
public class ajjjj {
public static void main(String[] args) {
int b[][]=new int[][] {{4,3},{1,2},{1,2,3}};
for(int i=0;i<b.length;i++) {
for(int j=0;j<b[i].length;j++) {
System.out.print(b[i][j]);
}
System.out.println();
}
}
}
当然在遍历数组时,使用foreach语句可能会更简单;下面的示例为利用foreach语句遍历二维数组:
public class adc {
public static void main(String[] args) {
int arr[][]= {{1,2},{3,4}};
int i=0;
for(int x[]:arr) {
i++;
int j=0;
for(int e:x) {
j++;
if(i==arr.length&&j==x.length) {
System.out.println();
}else
System.out.print(e+"、");
}
}
}
}