数组4个基本特点
- 长度是确定的,一旦被创建,大小不可改变。
- 其中元素必须是相同类型,不能出现混合类型。
- 数组中元素可以是任何数据类型,包括基本类型和引用类型。
- 剩数组变量属于引用类型,也可以看做对象,其中的每个元素相当于该对象的成员变量。数组本身即是对象,Java中对象放在堆中,因此数组无论保存原始类型还是其他对象类型,数组对象本身就是在堆中。
数组的边界
- 下标的合法区间:[0,length-1],如果越界会报错。
- ArrayIndexOutOfBoundsException:表示数组下标越界异常!
- 数组是相同数据类型的有序集合。
- 数组也是对象,数组元素相当于对象的成员变量。
- 数组长度不可变。
数组的使用
- 基本实例:
public class ArrayTest3 {
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]);
}
System.out.println("=========================");
//计算所有数组元素的总和
int sum = 0;
for (int i = 0; i < arrays.length; i++) {
sum = sum+ arrays[i];
}
System.out.println("和为:"+sum);
System.out.println("============================");
//查找最大元素
int max = arrays[0];
for (int i = 1; i < arrays.length; i++) {
if (arrays[i]>max){
max = arrays[i];
}
}
System.out.println("最大值是:"+max);
}
}
- 增强for循环遍历数组实例:
public class ArrayTest4 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
for (int array:arrays){ //增强for循环,适合遍历数组,取不了数组下标
System.out.println(array);
}
}
}
- 使用方法遍历数组实例:
public class ArrayTest4 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
printArray(arrays);
}
//打印数组元素
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+"\t");
}
}
}
这个实例是表明数组可以在方法中充当参数。
- 反转数组实例:
public class ArrayTest4 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
int[] reverse = reverse(arrays);
printArray(reverse);
}
//打印数组元素
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+"\t");
}
}
//反转数组
public static int[] reverse(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;
}
}
这个实例是表示数组可以作为返回值。