1. 数组
数组: 同一类型的数据的集合。 数组是引用数据类型。
// 静态创建
char[] chars = {'a','b','c','d'};
// 动态创建
char[] chars2 = new char[4];
获取数组元素
arrays[arrays.length -1];
-
1.4 细节
- 必须是相同数据类型的组合(否则报错)。
- 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型,但是不能混用。
- 初始化后,int、short、long 有默认值0,double、float是0.0,boolean是false, char是\u0000, string是null。
- 数组下标(索引)是从0开始。
- 注意数组下标越界
-
1.5 赋值
- 1.5.1 基本数据类型赋值,这个值就是具体的数值,而且互不影响。
- 1.5.2 数组在默认情况下是引用传递,赋的值是地址。
int arr1 = {5,3,1};
int arr2 = arr1;
int[] arr1 = {10,20,30};
int[] arr2 = arr1; // 这么干不对,只是对数组的引用,而不是数组拷贝。
// 在java 中,如果一个数组被赋给另一个数组,那么这个数组之前在堆中为自己分配的空间将会被垃圾回收。
2.排序
将多个数据,按指定的顺序进行排序的过程。
查找
3.多维数组(DimensionalArray)
int[][] arr = {{0,0,0,0,0},{0,0,0,0,0},{0,0,1,0,0},{0,2,0,3,0},{0,0,0,0,0}};
-
3.1 在内存中的存在形式:
-
二维数组在栈中指向一个地址,这个地址是堆中为其开辟出来的空间的“门牌号”,堆中的第一维数组又指向了一个地址,这个地址也是堆中为其开辟出来的空间的“门牌号”。
-
3.2 使用特点:
-
列数不指定(第一行有一列,第二行有两列…)
-
3.3 使用细节:
-
声明方式:
int[] arr[] = new int[][];