数组
1.Java语言中的数组是一种引用数据类型,不属于基本数据类型。
2.数组的父类是 Object。
3.数组是相同数据类型的一组数据的有序排列。
4.数组的长度一旦被定义,就不能被改变。
5.数组是一个容器,可以同时容纳多个元素。(数组是一个数据的集合)
6.数组当中可以存储“基本数据类型”的数据,也可以存储“引用数据类型”的数据。
7.数组因为是引用类型,所以数组对象存储在堆内存当中。(数组是存储在堆当中的)
8.数组当中如果存储的是“java对象”的话,实际上存储的是对象的“引用(内存地址)”,数组中不能直接存储java对象。
⭐获取数组的长度:数据名.length
数组的定义的语法格式:
int[] arr1;
double[] arr2;
boolean[] arr3;
String[] arr4;
Object[] arr5;
数组的初始化
静态初始化:数据类型[] 数组名={值1,值2};
动态初始化:数据类型[] 数组名 = new 数据类型[数组长度];⭐动态初始化,数组会赋为默认值!
数组的遍历:
//一维数组的遍历
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
//二维数组的遍历
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[i].length; j++){
System.out.println(arr[i][j]);
}
}
//for each也叫做增强for循环,它会自动遍历。将array中的元素存到变量x中去,存一个打印一个
for (int x: array){
System.out.print(x + " ");
}
数组中最常见的问题:
1. NullPointerException 空指针异常
原因:引用类型变量没有指向任何对象,而访问了对象的属性或者是调用了对象的方法。
2. ArrayIndexOutOfBoundsException 索引值越界。
原因:访问了不存在的索引值。
数组内存