数组是相同类型数据的有序集合、按照先后顺序有序排列、其中每一项称为数组的一个元素。
1、数组的声明和创建
package learn.array;
public class Dame1 {
public static void main(String[] args) {
int[] num;//声明一个数组,推荐使用
int num1[];//也可以用此种方法声明数组
num=new int[4];//新建一个数组
num[0]=0;
num[1]=1;
num[2]=2;
num[3]=3;//数组赋值
System.out.println("数组长度:"+num.length);//得到数组长度
for (int i = 0; i < 4; i++) {
System.out.println(num[i]);
}
System.out.println(num[10]);//数组溢出
}
}
数组的长度是固定的,一旦被声明就确定了大小。
2、数组的三种初始化
2.1、静态初始化
定义数组时初始化
2.2、动态初始化
定义数组时不初始化,之后给数组赋值
2.3、默认初始化
在动态初始化之后,在堆区给数组分配空间时会赋默认值,int型是0,浮点型是0.0
package learn.array;
public class Dame2 {
public static void main(String[] args) {
int[] array1={1,2,3,4,5};//静态初始化
for (int i = 0; i < 5; i++) {
System.out.print(array1[i]+"\t");
}
System.out.println();
int[] array2=new int[3];
//动态初始化之前会有默认初始化,int型都默认为0
for (int i = 0; i < 3; i++) {
System.out.print(array2[i]+" ");
//动态初始化
array2[i]=i;
}
System.out.println();
for (int i = 0; i < 3; i++) {
System.out.print(array2[i]+" ");
}
}
}
数组一旦被创建,长度固定,如果下标越界会报错:ArrayIndexOutOfBoundsException;数组内必须是相同类型的数据,不能是多种类型混合;数组可以是任何类型:基本类型、引用类型;数组变量是引用类型,Java对象是保存在堆区的,数组也是保存在堆区的。
foreach循环:array.for 回车
package learn.array;
public class Dame3 {
public static void main(String[] args) {
int[] array={1,2,3,4,5};
//foreach循环
for (int i : array) {
System.out.print(i+" ");
}
}
}
3、一维数组和二维数组
二维数组的每一维都是一个数组