Be aware of the memory requirements and value ranges for primitive types (you don't have to memorize precise values, but you must know that a byte occupies a single byte of memory, while a short occupies 2 bytes, etc, and that the "wider" types can always hold any of the values that a "narrower" type can hold).
Interpret code in which automatic type conversions are present
Use type casting to explicitly convert data types
Explain the risks associated with explicit type casting
Use mathematical operations to manipulate character values.
Use increment and decrement operators
Explain how pre- and post- increment/decrement operators differ in functionality
Evaluate mathematical expressions involving pre- and post-increment/decrement operators
Use short-circuit evaluation to avoid divide-by-zero and null-pointer exceptions
Explain the use of the final keyword, when applied to attributes, methods, and classes
Read and understand UML class and sequence diagrams.
Implement source that meets the design specified in a UML class and sequence diagram.
Draw a UML class diagram illustrating the relationships between two or more classes, using the relationships with appropriate association connectors indicating generalization, exclusive composition, shared aggregation, or dependency.
Define aggregation.
Define composition.
Create and use an array or ArrayList to store primitive types (e.g. ints, chars, booleans, doubles,...)
Use an array or ArrayList to store object types (String, Person,...)
Iterate through an array or ArrayList, either setting the an element to a given value, or getting an element's current value
Determine the size of an array from the length attribute, or the size of an ArrayList via the size() method
Pass an array or ArrayList as an argument to a method
Create and return an array or ArrayList from a method
Describe the error encountered when accessing an array beyond its boundaries
Apply the ArrayList methods, size(), add(), get(), and remove()
Use inheritance in creating classes.
Explain and use the protected modifier in defining an inheritance hierarchy.
Explain why a class with a superclass other than object must make an explicit call to a constructor of the superclass.
Explain the concept of polymorphism.
Interpret code that uses inheritance and polymorphism and determine its output on execution.