数组定义
1.数组是相同类型数据的有序集合。
2.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。
3.其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们。
4.如果不定义数组中的某个值那么这个值默认为0/
数组的声明
package Array;
public class ArrayDemo01 {
public static void main(String[] args) {
int[] arr;//1.声明了一个数组
arr=new int[10];//2.创建了一个数组
arr[0]=1;
arr[1]=2;
arr[2]=3;
arr[3]=4;
arr[4]=5;
arr[5]=6;
arr[6]=7;
arr[7]=8;
arr[8]=9;
arr[9]=10;//如果不定义数组的值,那么默认值是0
System.out.println(arr[0]);
int sum=0;
for (int i = 0; i < arr.length; i++) {
sum=sum+arr[i];
}
System.out.println(sum);
}
}
1.静态初始化:(创建和赋值一起执行了)
int[]a ={1,2,3,6,4,5};
2.动态初始化:包含了默认初始化
默认初始化可以理解成当没有给数组的某些元素赋值的时候默认值为0
int[]b=new int [10];
b[0]=10;
堆,栈的联系如下:
当声明数组时只在栈里面创建,当创建数组之后会在堆里面占空间(这时候如果没有直接给数组里的元素赋值,元素会显示默认值)
数组的边界
下标的合法区间:[0,lenght-1]
数组的小结
1.长度是确定的,一旦数组被创建它的大小就不可以改变。
2.元素的类型必须是相同的,不允许出现混和类型。
3.数组中的元素可以是任何数据类型,包括基本类型和引用类型。
4.数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于改对象的成员变量。数组本身就是对象,Java中的对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
5.报错的时候显示ArrayIndexOutofBounds(意思就是下标越界)