数组是什么?
- 用于存放某一类数据的容器,数组对于每一门编成语言来说都是重要的数据结构之一。
声明数组变量(一维数组)
- 声明数组变量,才能在程序中使用数组。
dataType[] arrayRefVar;
int[] a;
创建数组
- 初始化方法
- Java语言使用new操作符来创建数组
- arrayRefVar = new dataType[arraySize];
- 使用 dataType[arraySize] 创建了一个数组。
- 把新创建的数组的引用赋值给变量 arrayRefVar。
int[] a = {1,2,3,6,9,……,9};
int[] a = new int[10];
int[] a = new int[]{1,2,3};
数组查找
下标(索引)
- 数组的下标从0开始,到数组长度-1,若索引超出范围,会抛出数组下标越界异常
长度
- length方法获取数组长度
int[] a = {1,2,3};
System.out.println(a.length);
循环取值
for(int i = 0 ; i < a.length ; i++){
System.out.println(a[i]);
}
//增强for-each
for(int n : a){
System.out.println(n);
}
//直接打印数组内容
System.out.println(Arrays.toString(a));
For-Each 循环
JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。
语法格式如下:
for(type element: array)
{
System.out.println(element);
}
数组小常识
- 数组作为函数的参数
- 数组作为函数的返回值
多维数组
概念
- 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。
String str[][] = new String[3][4];
多维数组的动态初始化
- 直接为每一维分配空间
- type 可以为基本数据类型和复合数据类型,arraylenght1 和 arraylenght2 必须为正整数,arraylenght1 为行数,arraylenght2 为列数。
type[][] typeName = new type[typeLength1][typeLength2];
int a[][] = new int[2][3];
int[][] a = new int[x][y];
//x代表行,y代表列
System.out.println(a.length); //输出总行数
System.out.println(a[0].length); //输出第1行的总列数
多维数组的引用
- 对二维数组中的每个元素,引用方式为 arrayName[index1][index2].
num[1][0];
- 多维遍历数组
- 使用二层for循环遍历二维数组
for(int i = 0 ; i < a.length ; i++){
for(int j = 0 ; j < a[i].length ; j++){
System.out.println(a[i][j]);
}
}