Please enable JavaScript to use CodeHS

AP Computer Science A Textbook

1. Primitive Types 1.1 Introduction 1.2 Why programming? Why Java? 1.3 Variables and Data Types 1.4 Expressions and Assignment Statements 1.5 Compound Assignment Operators 1.6 Casting and Range of Variables
2. Using Objects 2.1 Objects: Instances of Classes 2.2 Creating and Storing Objects (Instantiation) 2.3 Calling a Void Method 2.4 Calling a Void Method with Parameters 2.5 Calling a Non-void Method 2.6 String Objects: Concatenation, Literals & More 2.7 String Methods 2.8 Wrapper Classes: Integers and Doubles 2.9 Using the Math Class
3. Boolean Expressions and if Statements 3.1 Boolean Expressions 3.2 if Statements and Control Flow 3.3 if-else Statements 3.4 else if Statements 3.5 Compound Boolean Expressions 3.6 Equivalent Boolean Expressions 3.7 Comparing Objects
4. Iteration 4.1 while Loops 4.2 for Loops 4.3 Developing Algorithms Using Strings 4.4 Nested Iteration 4.5 Informal Code Analysis
5. Writing Classes 5.1 Anatomy of a Class 5.2 Constructors 5.3 Documentation with Comments 5.4 Accessor Methods 5.5 Mutator Methods 5.6 Writing Methods 5.7 Static Variables and Methods 5.8 Scope and Access 5.9 this Keyword 5.10 Ethical and Social Implications of Computing Systems
6. Arrays 6.1 Array 6.2 Traversing Arrays 6.3 Enhanced for Loop for Arrays 6.4 Developing Algorithms Using Arrays
7. ArrayLists 7.1 ArrayLists 7.2 ArrayList Methods 7.3 Traversing ArrayLists 7.4 Developing Algorithms using ArrayLists 7.5 Searching 7.6 Sorting 7.7 Ethical Issues Around Data Collection
8. 2D Arrays 8.1 2D Arrays 8.2 Traversing 2D Arrays
9. Inheritance 9.1 Inheritance 9.2 Writing Constructors for Subclasses 9.3 Overriding Methods 9.4 super Keyword 9.5 Creating References Using Inheritance Hierarchies 9.6 Polymorphism 9.7 Object Superclass
10. Recursion 10.1 Recursion 10.2 Recursive Searching 10.3 Recursive Sorting 10.4 Conclusion