APCSA Units 1-10 Notes

Unit 1: Primitive Types

  • Introduction to Java programming language.
  • Data types, variables, and literals (int, double, char, boolean).
  • Arithmetic operators and mathematical operations.
  • Type casting and type conversion.
  • Basic input and output (using Scanner and System.out).

Unit 2: Using Objects

  • Introduction to objects and classes.
  • Creating and using objects.
  • Object references.
  • Constructors and methods.
  • Static methods and variables.
  • The String class and its methods.
  • Wrapper classes for primitive types.

Unit 3: Boolean Expressions and If Statements ★

  • Conditional statements (if, else if, else).
  • Logical operators (&&,   , !).
  • Comparing values (==, !=, <, >, <=, >=).
  • Nested conditionals.
  • The switch statement.
  • Conditional expressions (the ternary operator).

Unit 4: Iteration

  • Introduction to loops (while, for, do-while).
  • Loop control (break and continue statements).
  • Loop patterns (counting, sentinel, and flag-controlled loops).
  • Common loop algorithms (sums, averages, searching, and sorting).

Unit 5: Writing Classes

  • Designing and implementing custom classes.
  • Instance variables and methods.
  • Encapsulation and access modifiers (public, private).
  • Constructors and overloading constructors.
  • The this keyword.
  • The equals method and the toString method.
  • The compareTo method.

Unit 6: Array Lists

  • Introduction to ArrayLists.
  • Adding, modifying, and removing elements.
  • Traversing and searching within ArrayLists.
  • Enhancing the ArrayList class.
  • Using enhanced for loops.
  • Two-dimensional arrays.

Unit 7: Arrays of Objects ★

  • Arrays of objects and references.
  • Sorting and searching arrays of objects.
  • Implementing classes with array attributes.
  • Multidimensional arrays.
  • The ArrayList class compared to arrays.

Unit 8: Classes and Objects

  • Design principles for classes.
  • The use of static and instance variables.
  • The static keyword and static methods.
  • Constructors in classes.
  • Access modifiers (public, private, protected).
  • Object-oriented design and UML diagrams.

Unit 9: Inheritance

  • Inheritance in object-oriented programming.
  • Extending and inheriting from classes.
  • Overriding methods.
  • Polymorphism and dynamic method binding.
  • Abstract classes and interfaces.
  • Implementing multiple interfaces.
  • Using the super keyword.

Unit 10: Recursion ★

  • Introduction to recursion.
  • Recursive methods and their structure.
  • Recursive algorithms for solving problems.
  • Base cases and recursive cases.
  • Recursion vs. iteration.
  • Recursive sorting algorithms (e.g., Merge Sort).

Unit 11 : xxx