文章目录
- 二维数组
- 一、基本概念
- 二、静态初始测试
- 三、动态初始测试
二维数组
一、基本概念
1.二维数组是特殊的一维数组
2.特殊的一维数组,特殊在这个一维数组中每个元素都是一维数组。
3.基本语法:
- 静态初始化二维数组
int[][] a = {{},{},{}...}
- 动态初始化二维数组
int[][] a = new int[x][y];
- x代表一维数组个数 ---- 行数
- y代表每个一维数组中的元素个数 ---- 列数,当然这种方法创建的二维数组是矩阵型的
例如:int[][] a = new int[3][4];
展示:
0 0 0 0
0 0 0 0
0 0 0 0
而用静态方法就可以创建任意长度的:
例如:
int[][] a = {{1,2,3},
{0},
{12,13},
{25,26,27}};
展示:
1 2 3
0
12 13
25 26 27
返回顶部
二、静态初始测试
package 二维数组;
public class ArrayTest02 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化二维数组
int[][] a = {
{1,2,3},
{0},
{12,13},
{25,26,27}
};
//获取一维数组个数
System.out.println(a.length+"个一维数组");
//获取第一个一维数组
int[] a0 = a[0];
int a00 = a0[0];
System.out.println(a00);
System.out.println(a[0][0]);
//获取最后一个数组的最后一个元素
System.out.println(a[3][2]);
System.out.println(a[a.length-1][a[a.length-1].length-1]);
//遍历二维数组
//纵向循环在外层,横向循环在内层
for(int i = 0; i < a.length; i++){
//对一维数组a[i]遍历
for(int j = 0; j < a[i].length; j++){
System.out.print("\t"+a[i][j]);
}
System.out.println();
}
}
}
结果:
4个一维数组
1
1
27
27
1 2 3
0
12 13
25 26 27
返回顶部
三、动态初始测试
public class ArrayTest03 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// 动态初始化二维数组
int[][] a = new int[3][4];
// 遍历二维数组
// 纵向循环在外层,横向循环在内层
for (int i = 0; i < a.length; i++) {
// 对一维数组a[i]遍历
for (int j = 0; j < a[i].length; j++) {
System.out.print("\t" + a[i][j]);
}
System.out.println();
}
System.out.println();
// 赋值
a[1][2] = 100;
// 纵向循环在外层,横向循环在内层
for (int i = 0; i < a.length; i++) {
// 对一维数组a[i]遍历
for (int j = 0; j < a[i].length; j++) {
System.out.print("\t" + a[i][j]);
}
System.out.println();
}
}
}
结果:
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 100 0
0 0 0 0
由上述内容,我们可以了解到二维数组是在一维数组上的一种扩展。从一维数组的单行转化成了含有列的数组,并且二维数组的遍历也运用到了之前所学的二重循环。
返回顶部