2. Introduction to OCA Java SE 8 Programmer I Certification
3. The importance of OCA Java SE 8 Programmer I Certification
4. Comparing OCA Java exam versions
5. Next step: OCP Java SE 8 Programmer II (1Z0-809) exam
6. Complete exam objectives, mapped to book chapters, and readiness checklist
1.1. The structures of a Java class and a source code file
1.2. Executable Java applications
1.2.1. Executable Java classes versus non-executable Java classes
1.3.2. Defining classes in a package using the package statement
1.3.3. Using simple names with import statements
1.3.4. Using packaged classes without using the import statement
1.3.5. Importing a single member versus all members of a package
1.3.6. The import statement doesn’t import the whole package tree
1.4.3. Protected access modifier
1.4.4. Default access (package access)
1.6. Features and components of Java
Chapter 2. Working with Java data types
2.1.2. Category: signed numeric
2.3. Object reference variables
2.3.1. What are object reference variables?
2.3.2. Differentiating between object reference variables and primitive variables
2.5.1. Class hierarchy of wrapper classes
2.5.2. Creating objects of the wrapper classes
2.5.3. Retrieving primitive values from the wrapper classes
2.5.4. Parsing a string value to a primitive type
2.5.5. Difference between using the valueOf method and constructors of wrapper classes
Chapter 3. Methods and encapsulation
3.3. Create methods with arguments and return values
3.4. Create an overloaded method
3.6.1. What is an object field?
3.7. Apply encapsulation principles to a class
3.8. Passing objects and primitives to methods
Chapter 4. Selected classes from the Java API and arrays
4.1. Welcome to the world of the String class
4.1.1. Creating String objects
4.1.2. The class String is immutable
4.1.3. Methods of the class String
4.2. Mutable strings: StringBuilder
4.2.1. The StringBuilder class is mutable
4.2.2. Creating StringBuilder objects
4.3.5. Combining array declaration, allocation, and initialization
4.3.6. Asymmetrical multidimensional arrays
4.3.7. Arrays of type interface, abstract class, and class Object
4.4.2. Adding elements to an ArrayList
4.4.3. Accessing elements of an ArrayList
4.4.4. Modifying the elements of an ArrayList
4.5. Comparing objects for equality
4.5.1. The method equals in the class java.lang.Object
4.5.2. Comparing objects of a user-defined class
4.6. Working with calendar data
5.1. The if, if-else, and ternary constructs
5.1.1. The if construct and its flavors
5.1.3. Implications of the presence and absence of {} in if-else constructs
5.1.4. Appropriate versus inappropriate expressions passed as arguments to an if statement
5.2.1. Create and use a switch statement
5.2.2. Comparing a switch statement with multiple if-else constructs
5.2.3. Arguments passed to a switch statement
5.2.4. Values passed to the label case of a switch statement
5.4.1. Iteration with enhanced for loop
5.5. The while and do-while loops
5.5.3. while and do-while block, expression, and nesting rules
5.6. Comparing loop constructs
5.6.1. Comparing do-while and while loops
5.7. Loop statements: break and continue
Chapter 6. Working with inheritance
6.1.1. The need to inherit classes
6.1.3. A derived class contains within it an object of its base class
6.1.4. Which base class members are inherited by a derived class?
6.1.5. Which base class members aren’t inherited by a derived class?
6.1.6. Derived classes can define additional properties and behaviors
6.2.1. Need for using interfaces
6.2.3. Types of methods in an interface
6.2.4. Implementing a single interface
6.2.5. A class can’t extend multiple classes
6.2.6. A class can implement multiple interfaces
6.3. Reference variable and object types
6.3.1. Using a variable of the derived class to access its own object
6.3.2. Using a variable of a superclass to access an object of a derived class
6.3.3. Using a variable of an implemented interface to access a derived class object
6.5. Use this and super to access objects and constructors
6.6.1. Polymorphism with classes
6.6.2. Binding of variables and methods at compile time and runtime
6.7. Simple lambda expressions
6.7.1. Comparing passing values with passing code to methods
7.2.1. Identifying exception categories
7.3. Creating a method that throws an exception
7.3.1. Create a method that throws a checked exception
7.3.3. Creating a method that throws runtime exceptions or errors
7.3.4. A method can declare to throw all types of exceptions, even if it doesn’t
7.4. What happens when an exception is thrown?
7.4.1. Creating try-catch-finally blocks
7.4.2. Using a method that throws a checked exception
7.4.3. Using a method that throws a runtime exception
7.4.4. Using a method that throws an error
7.4.5. Will a finally block execute even if the catch block defines a return statement?
7.4.6. What happens if both a catch and a finally block define return statements?
7.4.7. What happens if a finally block modifies the value returned from a catch block?
7.4.8. Can a try block be followed only by a finally block?
7.4.9. Does the order of the exceptions caught in the catch blocks matter?
7.4.10. Can I rethrow an exception or the error I catch?
7.4.11. Can I declare my methods to throw a checked exception instead of handling it?
7.4.12. I can create nested loops, so can I create nested try-catch blocks too?
7.5. Common exception classes and categories
7.5.1. ArrayIndexOutOfBoundsException and IndexOutOfBoundsException
7.5.3. IllegalArgumentException
Answers to Twist in the Tale exercises
A.2 Chapter 2: Working with Java data types
A.2.1 Twist in the Tale 2.1 (part 1)
A.3 Chapter 3: Methods and encapsulation
A.4 Chapter 4: Selected classes from the Java API and arrays
A.6 Chapter 6: Working with inheritance
A.7 Chapter 7: Exception handling
3.145.202.61