对象数组 java 0913
普通数组的定义与使用
public class test2 {
public static void main(String[] args) {
System.out.println("定义普通的数组并使用");
int[] numArray = new int[3];
System.out.println("数组定义好后,里面是可以存放数据的,数组就是有序的容器");
numArray[0] = 22;
numArray[1] = 23;
numArray[2] = 54;
System.out.println("数组定义完成");
System.out.println();
System.out.println("开始遍历数组");
for (int i = 0; i < numArray.length; i ++) {
System.out.println(numArray[i]);
}
}
}
效果
定义普通的数组并使用
数组定义好后,里面是可以存放数据的,数组就是有序的容器
数组定义完成
开始遍历数组
22
23
54
什么是对象数组
普通的数组是存放普通数据的容器
- String[],存放字符串数据
- int[],存放整数数据
对象数组是用于存放对象数据的
如果我有很多个自定义对象需要保存
可以考虑用对象数组进行有序存储
例子
public class test3 {
public static void main(String[] args) {
System.out.println("这里有三个学生对象,期望把他们收纳在一个数据中");
System.out.println("数组的特点就是进行有序收纳,所以可以用数组");
// 三个学生的实例化,分别为1号学生,2号学生,3号学生
Student no1 = new Student();
no1.number = 1;
Student no2 = new Student();
no2.number = 2;
Student no3 = new Student();
no3.number = 3;
// 把三个学生收纳到一个数组中
// 数组的定义,格式如下
// 类型名[] 数组名 = new 类型名[长度];
Student[] myStudents = new Student[4];
System.out.println("定义了一个对象数组,可以保存四个学生对象");
System.out.println("数组的每一个下标都可以存放一个值,下面开始存值");
myStudents[0] = no1;
System.out.println(" 学号为1的学生,分配在了数组的0号位");
myStudents[1] = no2;
System.out.println("学号为2的学生,分配在了数组的1号位");
myStudents[3] = no3;
System.out.println("学号为3的学生,分配在了数组的3号位");
System.out.println("数组的2号位,没有数据");
System.out.println("遍历数组");
for (int i = 0; i < myStudents.length; i++) {
// System.out.println(myStudents[i]);
// 注意,通过对象数组[下标],取出来的值,就是一个学生对象
// 即 myStudents[下标]的值是一个学生对象
// 所以,我们可以通过 学生对象.属性,可以操做学生对象的属性
if (myStudents[i] != null) {
System.out.println("学生学号为"+myStudents[i].number);
}
}
}
}
结果
"C:\Program Files\Java\jdk1.7.0_17\bin\java.exe" "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA Educational Edition 2020.2\lib\idea_rt.jar=5241:D:\Program Files\JetBrains\IntelliJ IDEA Educational Edition 2020.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_17\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_17\jre\lib\rt.jar;E:\code2020\小功能演练0913\out\production\小功能演练0913" test3
这里有三个学生对象,期望把他们收纳在一个数据中
数组的特点就是进行有序收纳,所以可以用数组
定义了一个对象数组,可以保存四个学生对象
数组的每一个下标都可以存放一个值,下面开始存值
学号为1的学生,分配在了数组的0号位
学号为2的学生,分配在了数组的1号位
学号为3的学生,分配在了数组的3号位
数组的2号位,没有数据
遍历数组
学生学号为1
学生学号为2
学生学号为3
Process finished with exit code 0