java中对象数组的小例题

简介: /* * 我有5个学生,请把这个5个学生的信息存储到数组中,并遍历学生数组,获取得到每一个学生的信息。 *   学生类:Student *      成员变量:name,age *      构造方法:无参,带参 *      成员方法:getXxx()/setXxx() *   存储学生的数组?自己想想应该是什么样子的? * 分析: *    A:创建学生类。

/*
* 我有5个学生,请把这个5个学生的信息存储到数组中,并遍历学生数组,获取得到每一个学生的信息。
*   学生类:Student
*      成员变量:name,age
*      构造方法:无参,带参
*      成员方法:getXxx()/setXxx()
*   存储学生的数组?自己想想应该是什么样子的?
* 分析:
*    A:创建学生类。
*    B:创建学生数组(对象数组)。
*    C:创建5个学生对象,并赋值。
*    D:把C步骤的元素,放到学生数组中。
*    E:遍历学生数组。
*/

示例代码如下:

 1 package cn.itcast_01;
 2 
 3 public class Student {
 4     // 成员变量
 5     private String name;
 6     private int age;
 7 
 8     // 构造方法
 9     public Student() {
10         super();
11     }
12 
13     public Student(String name, int age) {
14         super();
15         this.name = name;
16         this.age = age;
17     }
18 
19     // 成员方法
20     // getXxx()/setXxx()
21     public String getName() {
22         return name;
23     }
24 
25     public void setName(String name) {
26         this.name = name;
27     }
28 
29     public int getAge() {
30         return age;
31     }
32 
33     public void setAge(int age) {
34         this.age = age;
35     }
36 
37     @Override
38     public String toString() {
39         return "Student [name=" + name + ", age=" + age + "]";
40     }
41 }
Student.java
 1 package cn.itcast_01;
 2 
 3 /*
 4  * 我有5个学生,请把这个5个学生的信息存储到数组中,并遍历学生数组,获取得到每一个学生的信息。
 5  *         学生类:Student
 6  *             成员变量:name,age
 7  *             构造方法:无参,带参
 8  *             成员方法:getXxx()/setXxx()
 9  *         存储学生的数组?自己想想应该是什么样子的?
10  * 分析:
11  *         A:创建学生类。
12  *         B:创建学生数组(对象数组)。
13  *         C:创建5个学生对象,并赋值。
14  *         D:把C步骤的元素,放到学生数组中。
15  *         E:遍历学生数组。
16  */
17 public class ObjectArrayDemo {
18     public static void main(String[] args) {
19         // 创建学生数组(对象数组)。
20         Student[] students = new Student[5];
21         
22         // 遍历新创建的学生数组。
23         for (int x = 0; x < students.length; x++) {
24             System.out.println(students[x]);
25         }
26         System.out.println("---------------------");
27 
28         // 创建5个学生对象,并赋值。
29         Student s1 = new Student("林青霞", 27);
30         Student s2 = new Student("风清扬", 30);
31         Student s3 = new Student("刘意", 30);
32         Student s4 = new Student("赵雅芝", 60);
33         Student s5 = new Student("王力宏", 35);
34 
35         // 把C步骤的元素,放到学生数组中。
36         students[0] = s1;
37         students[1] = s2;
38         students[2] = s3;
39         students[3] = s4;
40         students[4] = s5;
41 
42          // 看到很相似,就想用循环改,把C步骤的元素,放到学生数组中。
43 //         for (int x = 0; x < students.length; x++) {
44 //             students[x] = s + "" + (x + 1); // 拼完之后是一个字符串了。
45 //         }
46          // 这个是有问题的。
47 
48         // 遍历赋值后的学生数组。用重写toString()方法
49         for (int x = 0; x < students.length; x++) {
50             // 重写toString()方法,注意:一个方法写定之后就不要再去改变了。因为改来改去的还不如重新写个方法呢?
51             System.out.println(students[x]); 
52         }
53         System.out.println("---------------------");
54         
55         // 遍历赋值后的学生数组,用getXxx()方法
56         for (int x = 0; x < students.length; x++) {            
57             // 因为学生数组的每一个元素都是一个学生。
58             Student s = students[x];
59             System.out.println(s.getName()+"---"+s.getAge());
60         }
61     }
62 }
ObjectArrayDemo.java
 1 null
 2 null
 3 null
 4 null
 5 null
 6 ---------------------
 7 Student [name=林青霞, age=27]
 8 Student [name=风清扬, age=30]
 9 Student [name=刘意, age=30]
10 Student [name=赵雅芝, age=60]
11 Student [name=王力宏, age=35]
12 ---------------------
13 林青霞---27
14 风清扬---30
15 刘意---30
16 赵雅芝---60
17 王力宏---35
输出结果如下:

 

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
3天前
|
存储 Java 索引
Java快速入门之数组、方法
### Java快速入门之数组与方法简介 #### 一、数组 数组是一种容器,用于存储同种数据类型的多个值。定义数组时需指定数据类型,如`int[]`只能存储整数。数组的初始化分为静态和动态两种: - **静态初始化**:直接指定元素,系统自动计算长度,如`int[] arr = {1, 2, 3};` - **动态初始化**:手动指定长度,系统给定默认值,如`int[] arr = new int[3];` 数组访问通过索引完成,索引从0开始,最大索引为`数组.length - 1`。遍历数组常用`for`循环。常见操作包括求和、找最值、统计特定条件元素等。
|
3天前
|
存储 Java 索引
Java基础(六):数组
Java基础(六):数组
Java基础(六):数组
|
1天前
|
存储 Java C++
Java数组:静态初始化与动态初始化详解
本文介绍了Java中数组的定义、特点及初始化方式。
26 12
|
13天前
|
Java
java代码优化:判断内聚到实体对象中和构造上下文对象传递参数
通过两个常见的java后端实例场景探讨代码优化,代码不是优化出来的,而是设计出来的,我们永远不可能有专门的时间去做代码优化,优化和设计在平时
29 15
|
2月前
|
安全 Java 编译器
Java对象一定分配在堆上吗?
本文探讨了Java对象的内存分配问题,重点介绍了JVM的逃逸分析技术及其优化策略。逃逸分析能判断对象是否会在作用域外被访问,从而决定对象是否需要分配到堆上。文章详细讲解了栈上分配、标量替换和同步消除三种优化策略,并通过示例代码说明了这些技术的应用场景。
Java对象一定分配在堆上吗?
|
3月前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
73 17
|
2月前
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第22天】在Java的世界里,对象序列化和反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何在Java中实现对象的序列化与反序列化,并探讨其背后的原理。通过实际代码示例,我们将一步步展示如何将复杂数据结构转换为字节流,以及如何将这些字节流还原为Java对象。文章还将讨论在使用序列化时应注意的安全性问题,以确保你的应用程序既高效又安全。
|
3月前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
42 4
|
3月前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
52 2
|
3月前
|
存储 Java 数据管理
Java零基础-Java对象详解
【10月更文挑战第7天】Java零基础教学篇,手把手实践教学!
40 6
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等