slug
excel
type
Post
status
Published
category
8-AP CSA
date
Mar 30, 2026
summary
tags
concepts
password
icon
 

下面给你一份 AP CSA 英文课堂讲义版

Student Record System in Java

AP Computer Science A Handout

1. Learning Goal

In this lesson, we will learn how to represent a simple Excel-style student table in Java.
A student table may look like this:
Name
Gender
Age
Grade
Hobby
Zhang Ming
Male
16
Grade 10
Basketball
Li Hua
Female
17
Grade 11
Reading
Wang Qiang
Male
15
Grade 9
Football
Chen Ting
Female
18
Grade 12
Writing
In Java, instead of using rows and columns directly, we use:
  • a class to describe one student
  • an object to represent one actual student
  • an ArrayList to store many students

2. The Java Program


3. Key AP CSA Concepts

A. Class

A class is a blueprint for creating objects.
The Student class describes what information each student should have.

B. Object

An object is one specific instance of a class.
Example:
Here, s1 is one student object.

C. Fields / Attributes / Instance Variables

These variables store the data for each student:
They are called:
  • fields
  • attributes
  • instance variables
All three terms are commonly used.
Each Student object has its own copy of these variables.

D. Constructor

A constructor is a special method used to initialize an object.
When we write:
the constructor is called.

Important facts about constructors:

  • the constructor name must match the class name
  • a constructor has no return type
  • it is used to give initial values to the object

E. Parameters

Inside the constructor:
these are called parameters.
Parameters allow us to pass information into the constructor.

F. this

Inside the constructor, we write:
This means:
  • this.name = the field belonging to the current object
  • name = the parameter passed into the constructor
So this refers to the current object.
This is a very important AP CSA idea.

G. Private

The fields are marked private:
This means code outside the class cannot directly change them.
This supports encapsulation, which means protecting the data inside the object.

H. Getter Methods

Getter methods let other code access private fields safely.
Example:
This method returns the student's name.
Other getters work in the same way.

I. ArrayList

An ArrayList stores a list of objects.
Here, it stores many Student objects.
You can think of it like this:
  • one Student object = one row
  • one ArrayList<Student> = the whole table

J. add()

The add() method adds a new object to the list.
This is similar to adding a new row in Excel.

K. Looping Through the List

This loop goes through the list one object at a time.

Useful methods:

  • students.size() gives the number of students
  • students.get(i) gives the student at index i

L. toString()

The toString() method tells Java how to display an object as a string.
So when we print a Student, Java uses this method.

4. Excel vs Java

This example is helpful because it connects something familiar (Excel) to Java programming.

In Excel:

  • each row is one student
  • each column is one kind of information
  • the whole sheet stores all students

In Java:

  • each object is one student
  • each field stores one kind of information
  • the ArrayList<Student> stores all students
So we can say:
Excel row = Java object
Excel column = Java field
Excel sheet = Java ArrayList

5. Why This Is Good AP CSA Practice

This example helps students practice:
  • defining a class
  • writing fields
  • writing a constructor
  • using parameters
  • using this
  • creating objects
  • storing objects in an ArrayList
  • traversing a list with a loop
  • writing a toString() method
These are all core AP CSA skills.

6. Sample Output

When the program runs, the output will be:

7. Short Teacher Explanation

You can explain the program like this in class:
“This program models a student table in Java.
Instead of storing data in spreadsheet cells, we store data inside objects.
Each student is one object, and all student objects are stored in an ArrayList.
The constructor helps us build each student object with starting values.”

8. Practice Questions

Question 1

What is the purpose of a constructor?

Question 2

What does this.name = name; mean?

Question 3

Why are the fields marked private?

Question 4

What does an ArrayList<Student> store?

Question 5

What is the purpose of the toString() method?

9. Answers

Answer 1

A constructor initializes an object when it is created.

Answer 2

It assigns the parameter name to the field name of the current object.

Answer 3

The fields are private to protect the data and support encapsulation.

Answer 4

It stores multiple Student objects.

Answer 5

It defines how the object should appear when printed.

10. Extension Activity

Students can improve the program by adding methods such as:
  • printAllStudents()
  • findStudentByName()
  • countStudents()
This helps them move from simple object creation to program design.

 
 
帝国理工G700 offer与准备工作数独
Loading...