AP Computer Science A: Java Review & Free-Response Questions
AP COMPUTER SCIENCE 2020 CHEAT SHEET – WILLIAM KONG
1) Strings
A string is a line of text, an object in Java, defined by the String class.
String concatenation – Use the + operator to add multiple strings or numbers.
A string is an array of characters.
Methods of the String Class
int length()– Returns the length of the string.String substring(int from, int to)– Returns a substring from the specified starting index (inclusive) to the ending index (exclusive).String substring(int from)– Returns a substring from the specified starting index to the end of the string.int indexOf(String str)– Returns the index of the first occurrence of the specified string. Returns -1 if not found.char charAt(int index)– Returns the character at the given index.int compareTo– Compares two strings lexicographically.
Example
int[] vals = {5,4,2};
String s = "Hervaeus";
String s2 = "";
for(int i = 0; i < s.length(); i++) {
for(int j = 0; j < vals[i % vals.length]; j++) {
s2 += s.charAt(i);
}
}
System.out.println(s2);
2) 1-D Arrays
Arrays are objects used to group and organize data of the same type. They are a sequence of values, called array elements.
In Java, the array itself is an object.
Example
for (int index = 0; index < array.length; index++) {
// do something here
}3) ArrayLists
ArrayLists dynamically change size depending on what is needed. They allow you to specialize the ArrayList type, such as ArrayList<String> or ArrayList<Integer>.
The Wrapper Class
Each primitive data type in Java has a corresponding wrapper class (e.g., Integer for int, Double for double). Wrapper classes allow you to use primitive types in places where objects are required, such as in collections like Map.
Example
import java.util.List;
import java.util.ArrayList;
public class Test
{
public static void main(String[] args)
{
List<String> names = new ArrayList<String>();
String[] friends = {"Sam", "Jessica", "Mark", "Alexis"};
for (int i = 0; i <= friends.length; i++)
{
names.add(friends[i]);
}
System.out.println(names);
}
}
4) Classes
In computer science, a variable is an identifier for a memory location whose value can be modified.
Primitive Data Types
int: Integer values (e.g., -2, 147, 9)double: Floating-point numbers with twice the memory offloatboolean: True or false valueschar: Single characters
Java Math Class
The Math class provides methods for complex mathematical operations.
Math.abs(int num): Returns the absolute value of a number.Math.pow(double num, double power): Returns a number raised to the specified power.Math.sqrt(double num): Returns the square root of a positive number.Math.random(): Returns a random number between 0.0 and 1.0.
Random Generator
Random generator = new Random();
generator.nextInt(n); // Returns a random integer between 0 (inclusive) and n (exclusive)
generator.nextDouble(); // Returns a random double between 0.0 (inclusive) and 1.0 (exclusive)AP Free-Response Questions
Example Question
The LightBoard class models a two-dimensional display of lights, where each light is either on or off (represented by a Boolean value). Implement a constructor to initialize the display and a method to evaluate a light.
Write the constructor for the LightBoard class, which initializes lights so that each light is set to on with a 40% probability. The notation lights[r][c] represents the array element at row r and column c.
