数组
-
长度确定
-
元素类型相同
-
数组的变量属于引用类型,其本身就是对象,其元素相对于对象的成员变量,保存在堆中
数组的定义
int[] nums; //主流
int numss[]; //方便c和c++掌握java
double[]a = new double[]{1, 2, 3};
a.length;获得数组a的长度
//根据有没有初始化区分
int[] nums = {1, 2, 3}; //静态初始化
int[] b = new int[10]; //动态初始化,包含默认初始化
-
下标从0开始,a数组中三个元素的下标分别是0,1,2。长度 [0 - length - 1]
-
数组的长度定义后不可更改
数组越界的报错
ArrayIndexOutofBounds
内存分析
- 堆:存放new创建的对象(及其内容)和数组
- 栈:基本数据类型(除了基本数据类型都是引用, 包括引用名,引用在栈内,真实内容在堆中)
- 方法区:类class和static变量
Arrays 类
double[]b = new double[5];
double[]a = new double[]{1, 2, 3};
Arrays.sort(a);
Arrays.fill(b, 5); //填充数组,全是5
Arrays.fill(b, 2, 4, 0);//数组[2-4]之间填充0
Arrays.equals(a, b); //两个数组是否相等
Arrays.binarySearch(b, 5); //二分查找b中是否有第二个参数
System.out.println(Arrays.toString(a)); //打印所有数组元素