一维数组
数组对于编程语言而言是一个必不可少的数据结构,不同编程语言对数组的实现和使用也各不相同,Java中的数组是用来存储固定大小的同类型元素的。
public class Demo {
public static void main(String[] args) {
//数组的声明
int[] array;
//创建数组
array = new int[3];
//初始化
array[0] = 1;
array[1] = 2;
array[2] = 3;
//遍历数组
for (int element : array) {
System.out.println("element = " + element);//1 2 3
}
}
}
数组的声明创建初始化可以写在一起
public class Demo {
public static void main(String[] args) {
int[] array = new int[]{1,2,3};
//int[] array = {1,2,3};也是可以的
//遍历数组
for (int element : array) {
System.out.println("element = " + element);//1 2 3
}
}
}
数组是一种引用类型,它的元素是通过索引访问的,Java数组的索引从0开始。在int[] array = new int[]{1,2,3};这条语句中,array是一个变量名,它储存在栈中;new是给这个array开辟了一个堆空间,上例是开辟了3块连续的内存空间,就好像是3个抽屉,分别存储着1,2,3这3个值,这3个抽屉的名字叫array,标号是0,1,2,当你要取第一个抽屉的值时可以用array[0],获得的结果是1。数组的声明一定要给它赋予相应的堆空间,哪怕是null也好。
数组操作例子:
public class Demo {
public static void main(String[] args) {
int[] array = {1,2,3,4,5,6,7};
System.out.println(array.length);//获取数组长度 7
for (int i = 0; i < array.length; i++){
System.out.println(array[i]);//数组遍历 1 2 3 4 5 6 7
}
array[5] = 8;//将8赋值给第6个内存空间,原来第6个内存空间里的值被挤出去了
for (int element:array) {
System.out.println("element = " + element);//数组遍历 1 2 3 4 5 8 7
}
}
}
二维数组
二维数组其实就是一个特殊的一维数组,只不过这个一维数组的元素都是数组而已,可以把它看做是一个二维表。
public class Demo {
public static void main(String[] args) {
int[][] array = new int[2][3];//声明并创建一个2行3列的二维数组
//给这个二维数组赋值
array[0][0] = 1;
array[0][1] = 2;
array[0][2] = 3;
array[1][0] = 4;
array[1][1] = 5;
array[1][2] = 6;
//相当于
/*int[][] array = {{1,2,3},{4,5,6}};*/
for (int i = 0; i < array.length; i++){
for (int j = 0; j < array[i].length; j++){
System.out.println(array[i][j]);//二维数组遍历 1 2 3 4 5 6
}
}
}
}
通常情况下最多也只是用到二维数组,所以像三维、四维的多维数组可以暂不做考虑。