The Java® exam is based on the Intended Learning Outcomes (ILOs) listed below.
You must log in to take a sample exam.
1. Java® Fundamentals (12.5%, 5 questions)
Candidates can:
1.1. Create and execute Java® applications
- JDK vs. JRE; .java, .class, .jar files; compilation; execution
1.2. Implement main in a Java® application
- Signature of main, how to consume an instance of your own class, command-line arguments
1.3. Implement basic input and output using standard packages
- Print statements, import and use the Scanner class
1.4. Evaluate the scope of a variable
- Declare a variable within a block, class, or method
1.5. Apply comments and document programs
- Evaluate the syntax of Javadocs, write syntactically correct code comments
2. Data Types, Variables, and Expressions (27.5%, 11 questions)
Candidates can:
2.1. Compare and contrast ways to declare and use primitive data type variables
- Data types, including byte, char, int, double, short, long, float, Boolean; identify when precision is lost; initialization; how primitives differ from wrapper object types such as Integer and Boolean
2.2. Construct and evaluate code that manipulates strings
- String class and string literals, comparisons, concatenation, case, and length; String methods; string operators; the immutable nature of strings; initialization; null
2.3. Construct and evaluate code that creates, iterates, and manipulates arrays and array lists
- One- and two-dimensional arrays, including initialization, null, size, iterating elements, accessing elements; array lists, including adding and removing elements, traversing the list
2.4. Construct and evaluate code that performs parsing, casting, and conversion
- Cast between primitive data types, convert primitive types to equivalent object types, parse strings to numbers, convert primitive data types to strings
2.5. Construct and evaluate arithmetic expressions
- Arithmetic operators, assignment, compound assignment operators, operator precedence
3. Flow Control Implementation (25%, 10 questions)
Candidates can:
3.1. Construct and evaluate code that uses branching statements
- if, else, else if, switch; single-line vs. block; nesting; ternary, logical and relational operators
3.2. Construct and evaluate code that uses loops
- while, for, for each, do while; break and continue; nesting; logical, relational, and unary operators
4. Object-Oriented Programming (25%, 10 questions)
Candidates can:
4.1. Construct and evaluate class definitions
- Constructors, constructor overloading, one class per .java file, this keyword, basic inheritance and overriding
4.2. Compare and contrast ways to declare, implement, and access data members in classes
- private, public, protected; instance data members; static data members; use static final to create constants; describe encapsulation
4.3. Compare and contrast ways to declare, implement, and access methods
- private, public, protected; method parameters; return type; void; return value; instance methods; static methods; overloading
4.4. Compare and contrast ways to instantiate and use class objects in programs
- Instantiation, initialization, null, access and modify data members, access methods, access and modify static members, import packages and classes
5. Code Compilation and Debugging (10%, 4 questions)
Candidates can:
5.1. Analyze and troubleshoot syntax errors, logic errors, and runtime errors
- Print statements, javac command output, logic errors, console exceptions, stack trace evaluation
5.2. Implement exception handling
- try, catch, finally; Exception class; exception class types; display exception information
The exam is based on Java® 8.
You will need to use a special browser that uses camera proctoring while you take the exam. The exam consists of forty (40) multiple choice questions. Each question has three (3) answer options, exactly one (1) of which is correct. You should answer all questions, since there is no penalty for questions answered incorrectly, but you will not get any points for questions left unanswered. To pass, you must answer at least 27 questions correctly. You will have 60 minutes to take the exam.
Ordering the exam entitles you to sit for one (1) exam attempt.
This is one of the four exams you must pass, in addition to writing a Reflection Report, to earn the CFSD® diploma.
* Java® is a registered trademark of Oracle Corporation and/or its affiliates.

