一维数组
静态初始化定义
建议使用数据类型[] 数组名格式定义,这样可读性好。
示例代码:
补充:空数组为{},例如int arr = {};
动态初始化定义
示例代码:
数组默认值
-
-
char数组默认值为ASCII值等于0所对应的字符
特殊动态初始化定义
int array[] = null;
array = new int[3];
存储原理
程序运行在内存中,数组开辟也在内存中,通过数组名引用数组地址,数组地址中有数组数据。
补充:
1.如果数据类型存储的是内存中的地址,那么该数据类型为"引用数据类型"。
2.数组索引从0开始
基础使用
"数组名.length"获取数组元素个数,即数组大小
二维数组
补充:二维数组的行标和列表都是从0开始的
静态初始化定义
格式如下:
数据类型 数组名[][]= {
{第0行数据},
{第1行数据},
{第n行数据},
};
----------------------------------
实例如下:
int score[][] = {
{67, 88},
{93, 32, 12},
{99, 65, 23, 32, 13}
};
动态初始化定义
格式如下:
数据类型 数组名[][] = new 数据类型 [行数][列数];
----------------------------------
实例如下:
int score[][] = new int [4][3];
特殊动态初始化定义
格式如下:
数据类型 数组名[][];
数组名 = new 数据类型[行数][列数];
----------------------------------
实例如下:
int score[][];
score = new int[4][3];
基础使用
案例:遍历二维数组
int score[][] = {
{67, 88},
{93, 32, 12},
{99, 65, 23, 32, 13}
};
for (int i = 0; i < score.length; i++) {
for (int j = 0; j < score[i].length; j++) {
System.out.println(score[i][j] + "\t"); //访问具体元素
}
System.out.println(); //换行
}
扩展
多维数组
这里以三维数组为例
遍历
int score[][][] = {
{{5, 1}, {6, 7}},
{{9, 4}, {8, 3}}
}; //定义三维数组
for (int i = 0; i < score.length; i++) {
for (int j = 0; j < score[i].length; j++) {
for (int k = 0; k < score[i][j].length; k++) {
System.out.println("score[" + i + "][" + j + "][" + k + "]=" + score[i][j][k]);
}
}
}
运行结果如下:
上面遍历了三维数组,n维数组定义、引用及遍历类似以上代码。