
数组是什么:
数组是一种数据结构,用来存储同一数据类型的集合。通过一个整型下标可以访问数组中的每一个值。
声明格式:数据类型[] 数据变量名称,例如:int[] a或者int a[];
一维数组:
动态初始化:
private void invoke(){
int[] array1=new int[3];
System.out.println("length====="+array1.length);
array1[0]=1;
array1[1]=2;
array1[2]=3;
}
System.out: array1.length=====3
静态初始化:
public void invoke(){
int[] array2=new int[]{1,2,2,4,3};
System.out.println("array1.length====="+array2.length);
for (int i = 0; i < array2.length; i++) {
System.out.println("array2["+i+"]===="+array2[I]);
}
System.out: array1.length=====5
System.out: array2[0]====1
System.out: array2[1]====2
System.out: array2[2]====2
System.out: array2[3]====4
System.out: array2[4]====3
匿名数组初始化:
public void invoke(){
System.out.println("======="+new int[]{1,3,4}.length);
}
如果数组为空或者访问超出数组的长度会报异常:
public void invoke(){
int[] array3=null;
System.out.println("array==="+array3.length);//空指针异常
}
Caused by: java.lang.NullPointerException: Attempt to get length of null array
public void invoke(){
int[] array1=new int[3];
System.out.println("array1.length====="+array1.length);
array1[0]=1;
array1[1]=2;
array1[2]=3;
System.out.println("array==="+array1[3]);//数组越界
}
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=3; index=3
多维数组:多维数组将使用多个下标访问数组元素,它适用于表示表格或更加复杂的排列形式。动态初始化和静态初始化同一维数组。
public void invoke(){
//二维数组
int[][] array=new int[][]{{1,3},{3,4,2}};
//打印数组内容
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println("==="+array[i][j]);
}
}
}
System.out: ===1
System.out: ===3
System.out: ===3
System.out: ===4
System.out: ===2
数组排序:可以使用Arrays类中的sort方法进行排序,这个方法采用了优化的快速排序算法对数组进行了排序。
public void invoke(){
int[] array1=new int[4];
array1[0]=1;
array1[1]=4;
array1[2]=3;
array1[3]=2;
for (int i = 0; i < array1.length; i++) {
System.out.println("sort前==="+array1[I]);
}
Arrays.sort(array1);
for (int i = 0; i < array1.length; i++) {
System.out.println("sort后==="+array1[I]);
}
}
System.out: sort前===1
System.out: sort前===4
System.out: sort前===3
System.out: sort前===2
System.out: sort后===1
System.out: sort后===2
System.out: sort后===3
System.out: sort后===4
总结:此篇记录巩固下Java 基础数组相关的内容,哪里有问题或者有关于数组相关的问题,欢迎大家指出和在评论区评论,可以一起讨论解决,一起成长进步。
网友评论