在之前所定义的数组里面会发现只有一个“[]”,所以这个时候的数组就好像一行数据一样,可以利用下标进行行数据的访问。
- 传统的数组就好比一行数据,如果要想找到一个数据只需要确定一个小标即可;
![](https://img.haomeiwen.com/i11837817/9ac25d6a3bc977e6.png)
- 如果说现在你需要的是一个多行多列的结构(表),则就需要通过两个下标才可以描述出一个数据,那么就需要有行下标与列下标共同定义才可以找到,所以这样的数组形式称为二维数组。
![](https://img.haomeiwen.com/i11837817/fe7b8df02ba9f59d.png)
对于二维数组可以使用的定义语法如下:
- 数组的动态初始化:
n 数据类型 数组名称[][] = new 数据类型[行个数][列个数]
;
- 数组的静态初始化:
n 数据类型 数组名称[][] = new 数据类型[][]{{数据,数据….}, {数据,数据….}, {数据,数据….},…}
。
范例:定义一个二维数组
public class ArrayDemo {
public static void main(String args[]){
int data[][] = new int[][]{
{1,2,3,4,5},{1,2,3},{5,6,7,8}
};
for(int x = 0; x < data.length; x++){
for (int y = 0; y < data[x].length; y++){
System.out.println("data["+x+"]["+y+"] = " + data[x][y]);
}
System.out.println();
}
}
}
既然二维数组每一行都属于一个数组,那么这种情况下就可以通过每一行的数组求出数组长度。
![](https://img.haomeiwen.com/i11837817/93f28a54373a6f65.png)
如果这个时候要求使用foreach来进行输出呢?
public class ArrayDemo {
public static void main(String args[]){
int data[][] = new int[][]{
{1,2,3,4,5},{1,2,3},{5,6,7,8}
};
for(int tmp[] : data){
for (int num : tmp){
System.out.print(num + "、");
}
System.out.println();
}
}
}
通过foreach的输出格式可以清楚的观察到,二维数组就是数组的嵌套使用。随着开发技术的发展,如果要进行一些应用层的程序开发,那么很少会涉及到二维数组,更不用说更高级的多维数组(两个[]以上的)。
网友评论