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(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());
}
}
}
class User{
private int id;
private String name;
public User(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}