对象数组快速掌拨 java 0913

对象数组快速掌拨 java 0913

视频

https://www.ixigua.com/6871892334255014413?logTag=r6u2cq3d6rgheoFkHT3y_

什么是对象数组

先说什么是数组

数组是有序数据容器

保存基本数据类型的数据

什么是对象数组

对象数组也是数据容器

保存的是用户自定义的一些对象

如何定义对象数组

普通数组如何定义?

定义一个整数数组,容量为5,编码如下

        int[] numArray = new int[5];

格式小结

类型名[] 变量名 = new 类型名[长度];

对象数组定义格式同上

类名称[] 变量名 = new 类名称[长度];

这样可以定义一个,指定长度的数组

专门存放对象的(对象必需由这个类实例化的才可)

创建一个对象数组

        // 新一个对象数组 长度为4,可以保存四个学生对象
        Student[] stuArray = new Student[4];

数组创建出来,相当于这样的效果

在这里插入图片描述

null是对象数组每个下标对应的默认值

给对象数组的空间内添加成员

数组[下标] = 对象;

代码

        // 新一个对象数组 长度为4,可以保存四个学生对象
        Student[] stuArray = new Student[4];
        // 0号位置放张三
        stuArray[0] = zs;
        // 1号位置放李四
        stuArray[1] = ls;
        // 2号位置放王五
        stuArray[2] = ww;

效果

在这里插入图片描述

对象数组的遍历

一旦遍历获取了数组中每个下标对应的值

这个值就是一个又一个对象

就是我们放进去的对象

这个对象是具有它自有的属性的,比如name与number

因为

当前例子的对象的类是这样定义的

public class Student {
    
    
    // 学号
    int number;
    // 姓名
    String name;
}

所以

        // 遍历对象数组
        for (int i = 0; i < stuArray.length; i++) {
    
    
            // for拿到了下标,通过  数组【下标】可以获取数组下标对应的值
            // 数组下标对应的值是什么? 是一个一个的对象
            // 所以 数组【下标】 就是对象。  然而,对象是具有属性的。
            // 所以  数组【下标】.属性 ,是可以访问到对象的值的

            System.out.println("遍历得到的对象的打印:" + stuArray[i]);
            // 如果下标对应的值不是null,那就是对象。 如果是null就跳过
            if (stuArray[i] == null) {
    
    
                System.out.println("不是对象,没有name与number属性");
                continue;
            }
            System.out.println("该对象的name属性值是:" + stuArray[i].name);
            System.out.println("该对象的number属性值是:" + stuArray[i].number);

结果

遍历得到的对象的打印:Student@591c5342
该对象的name属性值是:张三
该对象的number属性值是:1
遍历得到的对象的打印:Student@529e3fc2
该对象的name属性值是:李四
该对象的number属性值是:2
遍历得到的对象的打印:Student@136c03ee
该对象的name属性值是:王五
该对象的number属性值是:3
遍历得到的对象的打印:null
不是对象,没有name与number属性

小结

对象数组

是对象的容器

所以

对象数组[下标] 如果不是null 就是一个对象

对象的属性和方法都是可以调用的

可以通过

对象数组【下标】.属性 获取指定下标的属性值

对象数组【下标】.方法() 调用对象的某一个方法

猜你喜欢

转载自blog.csdn.net/ifubing/article/details/108564137