package mon;
import java.util.Arrays;
/**
- 数组的三个基本特点:
- 1 数组的长度是确定的一旦创建一个数组,它的大小是不可改变的 例如: type arr_a[]=new type[10];,这个数组的长度为10;
- 2 数组变量属于引用类型,数组本来就是对象,数组中的每个元素相当于该对象的成员变量;
- 3 声明的数组是什么类型,里面只能放什么类型的元素;
- 4 初始化就是赋值的意思;
- 5 如果声明一个数组给定长度与类型,那么就会用声明这个数组的类型进行自动填充,比如String arr02=new String[10];
- 解释为:我们声明了一个类型为String类型的数组,数组名为arr02,这个数组的长度指定为10,就等于这个引用型对象里面有10个成员变量
- 每个变量的值为null(因为String类型的默认值为null),索引的下标为0到9;里面的元素最后一个为length-1;
- 6 这里注意如果我们赋值时写成这样arr02[10]=100;这里如果我们这样进行赋值编译器会报一个异常给我们意思为索引越界异常(运行时异常)
- 7 java.lang.ArrayIndexOutOfBoundsException: 10(索引越界异常);
- 8 初始化自定义数组;
- */
public class TestArr{
public static void main(String []args){
int arr01[]=new int[10];
String arr02[]=new String[5];
arr01[0]=10;
arr01[1]=11;
arr01[2]=12;
for(int i=0;i<arr01.length;i++){
arr01[i]=10*i;
}
//普通for遍历数组,可以修改数组中的元素;
for(int i=0;i<arr01.length;i++){
//System.out.println(arr01[i]);
}
//初始化自定义数组;这里我们定义了一个长度为3的自定义数组,然后在每个下标的空间中创建了一个对象,然后这个下标中存的是这三个对象的地址;
User arr03[]=new User[3];//这也是一个对象,对应的也有一块空间;
arr03[0]=new User(1001,"小之之");
arr03[1]=new User(1002,"小宏宏");
arr03[2]=new User(1003,"小杨杨");
for(int i=0;i<arr03.length;i++){
//System.out.println(arr03[i].getId());
}
//增强for:for-each对数组进行遍历,读取数组与集合中的元素(注意这里的增强for只能读取元素,不能修改元素);
for(int L:arr01){//注意此时的变量L没有下标;所有你不能引用arr03里面的值,故而不能修改arr03里面的元素;
System.out.println(L);
}
}
}