Final Exam: Apprentice Developer

Expected Duration
Lesson Objectives
Course Number
Expertise Level


Final Exam: Apprentice Developer will test your knowledge and application of the topics presented throughout the Apprentice Developer track of the Skillsoft Aspire Apprentice Developer to Journeyman Developer Journey.

Expected Duration (hours)

Lesson Objectives

Final Exam: Apprentice Developer

  • appropriately override the .toString method provided by the Object base class
  • combine multiple independent catch blocks using the | operator
  • copy a character file as a sequence of characters using the FileReader and FileReader classes
  • correctly chain constructors to achieve code reuse
  • correctly initialize objects of inner classes
  • correctly initialize objects of static nested classes
  • correctly invoke a method that throws an exception of a checked exception type
  • correctly use the throws clause while defining method signatures
  • create a custom exception object by extending the base class Exception, and throw an instance of this exception from your code
  • create and use enums (enumerated data types) in Java
  • create files using both the legacy as well as the modern java.nio namespaces
  • create String objects using different input arguments and forms of memory allocation
  • create wrapper objects such as Integer, Float, etc. to encapsulate primitive (non-object) data types
  • customize IntelliJ to incorporate your individual preferences
  • define and invoke a parameterized constructor to instantiate objects of a class
  • define and invoke constructors in classes to correctly initialize member variables
  • define and invoke getter and setter methods to access private member variables of a class from outside that class
  • define and invoke multiple constructors to instantiate objects of a class
  • describe and use the -=, *=, %= and %= self-assignment operators
  • differentiate between equality tests based on the == operator and .equals
  • enumerate differences between checked exceptions, runtime exceptions, and errors
  • enumerate the important built-in exception classes in Java
  • identify differences between primitive and object types in Java
  • identify the situations when divide-by-zero exceptions arise
  • identify use-cases for the unary increment and decrement operators
  • implement the Serializable interface in user-defined classes so that they can be written to and read from using ObjectOutputStream and ObjectInputStream object
  • install Java on a Unix or Mac system
  • install the Eclipse IDE on a Mac-based system
  • invoke static and non-static methods of a class
  • list the reasons for Java’s popularity
  • make use of method overloading in your programs
  • modify control flow in a program using the if construct
  • perform conversions between variables of primitive types
  • perform operations such as copying and creating directories using the Files class in the java.nio namespace
  • perform operations such as copying files, checking for their existence, and deleting files using the Files class in the java.nio namespace
  • prematurely terminate loop execution using the break keyword
  • read a byte stream using the InputStream and FileInputStream classes
  • recognize how exceptions such as NullPointerException, NumberFormatException, and IndexOutOfBoundsException occur in code
  • recognize how variables of primitive types are governed by pass-by-value semantics in Java
  • recognize how variables of reference types are governed by pass-by-reference semantics in Java
  • recognize Java's class hierarchy for byte and character streams
  • recognize the exact semantics and limitations of the finally block
  • recognize the precise semantics of the try-with-resources construct in Java
  • recognize what member variables, static member variables, and member functions are
  • short-circuit execution of the current loop iteration using the continue keyword
  • throw an object of a built-in exception type in order to respond to an unexpected situation in a program
  • use enums (enumerated types) along with switch statements
  • use for loops to iteratively execute a block of code
  • use multiple independent catch blocks with a single try block
  • use nested if-else conditions to deal with mutually exclusive conditions
  • use strings in if-else constructs, relying on the .equals method and avoiding the == operator
  • use string variables in switch statements
  • use the DataOutputStream class to write primitive types and strings to byte streams
  • use the do-while loop control structure to ensure that the body of a loop is always executed at least once, regardless of the value of the loop variable
  • use the logical AND, logical OR, and logical negation operators
  • use the ObjectOutputStream class to write objects of any type to byte streams
  • use the StringBuffer object to perform string operations
  • use while loops to control the number of times a block of code executes based on the value of a specific expression
  • utilize both single-line as well as multi-line comments in Java
  • work with variables of double, char, and String types in Java
  • Course Number:

    Expertise Level