视频学习地址
前言
数组本身就是对象,因此数组无论保存原始类型还是其他对象类型,数组对象本身还是在堆中的。
四个基本特点
- 其长度是确定的,数组一旦被创建,它的大小是不可以改变的
- 其元素必须是相同类型,不允许出现混合类型
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型
- 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量
数组边界
- 下标的合法区间:
[0,length - 1]
,如果越界就会报错 - ArrayIndexOutOfBoundsException:数组下标越界异常
数组的使用
- For-Each循环(增强型数组for循环是获取不到下标的)
- 数组作方法入参
- 数组作返回值
例子
public class Demo {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
//打印数组的全部元素 普通的数组
for (int i = 0; i < arrays.length; i++) {
System.out.println(arrays[i]);
}
}
}
public class Demo {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
//打印数组的全部元素 增强型数组
for (int array : arrays) {
System.out.println(array);
}
}
}
public class Demo {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
Array(arrays); //作为方法进行传参
}
public static void Array(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.println(arrays[i]);
}
}
}
public class Demo {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
int[] arrays2 = Array(arrays); //将arrays反转后赋值给arrays
Array2(arrays2); //使用遍历方法输出
}
public static int[] Array(int[] arrays){
int[] result = new int[arrays.length];
//反转操作的一个返回值方法
for (int i = 0, j = result.length - 1; i < arrays.length; i++, j--) {
result[j] = arrays[i];
}
return result;
}
public static void Array2(int[] arrays){
//遍历输出的一个方法
for (int j = 0; j < arrays.length; j++) {
System.out.println(arrays[j] + " ");
}
}
}
总结
- 数组是相同数据类型的有序集合(可以是任意类型)
- 数组也是对象,数组元素相当于对象的成员变量
- 数组长度是确定不可变的,如果越界,则报错