Java SE 11 Prog I, Oracle Certified Professional (OCP)


This course includes

Start your prep for the Oracle Java SE 11 certification exam with the Java SE 11 Prog I, Oracle Certified Professional (OCP) course and lab. The lab provides a hands-on learning experience in a safe and online environment. The Java certification training course covers all the 1Z0-815 exam objectives and includes topics such as Java arrays, operators and decision constructs, encapsulation, modules, and much more. The Oracle Java certification course will help you learn Java online with its comprehensive learning resources.

Here's what you will get

Oracle Certified Professional: Java SE 11 Developer certification will demonstrate a candidate's proficiency in Java, knowledge of Java programming language, good coding practices, and an understanding of new features since Java SE 8. The Oracle Java certification validates a candidate's skills in modular programming and precise and secure coding management and knowing all the latest new features and functionality in Java technology.


12+ Lessons | 111+ Quizzes | 251+ Flashcards | 150+ Glossary of terms


80+ Pre Assessment Questions | 2+ Full Length Tests | 80+ Post Assessment Questions | 160+ Practice Test Questions

Here's what you will learn

Download Course Outline

Lessons 1: Introduction

  • Understanding the Exam
  • Reading This course
  • Studying for the Exam
  • Reviewing Exam Objectives

Lessons 2: Welcome to Java

  • Learning About the Java Environment
  • Identifying Benefits of Java
  • Understanding the Java Class Structure
  • Writing a main() Method
  • Understanding Package Declarations and Imports
  • Ordering Elements in a Class
  • Code Formatting on the Exam
  • Summary
  • Exam Essentials

Lessons 3: Java Building Blocks

  • Creating Objects
  • Understanding Data Types
  • Declaring Variables
  • Initializing Variables
  • Managing Variable Scope
  • Destroying Objects
  • Summary
  • Exam Essentials

Lessons 4: Operators

  • Understanding Java Operators
  • Applying Unary Operators
  • Working with Binary Arithmetic Operators
  • Assigning Values
  • Comparing Values
  • Making Decisions with the Ternary Operator
  • Summary
  • Exam Essentials

Lessons 5: Making Decisions

  • Creating Decision-Making Statements
  • Writing while Loops
  • Constructing for Loops
  • Controlling Flow with Branching
  • Summary
  • Exam Essentials

Lessons 6: Core Java APIs

  • Creating and Manipulating Strings
  • Using the StringBuilder Class
  • Understanding Equality
  • Understanding Java Arrays
  • Understanding an ArrayList
  • Creating Sets and Maps
  • Calculating with Math APIs
  • Summary
  • Exam Essentials

Lessons 7: Lambdas and Functional Interfaces

  • Writing Simple Lambdas
  • Introducing Functional Interfaces
  • Working with Variables in Lambdas
  • Calling APIs with Lambdas
  • Summary
  • Exam Essentials

Lessons 8: Methods and Encapsulation

  • Designing Methods
  • Working with Varargs
  • Applying Access Modifiers
  • Applying the static Keyword
  • Passing Data among Methods
  • Overloading Methods
  • Encapsulating Data
  • Summary
  • Exam Essentials

Lessons 9: Class Design

  • Understanding Inheritance
  • Creating Classes
  • Declaring Constructors
  • Inheriting Members
  • Understanding Polymorphism
  • Summary
  • Exam Essentials

Lessons 10: Advanced Class Design

  • Creating Abstract Classes
  • Implementing Interfaces
  • Introducing Inner Classes
  • Summary
  • Exam Essentials

Lessons 11: Exceptions

  • Understanding Exceptions
  • Recognizing Exception Classes
  • Handling Exceptions
  • Calling Methods That Throw Exceptions
  • Summary
  • Exam Essentials

Lessons 12: Modules

  • Introducing Modules
  • Creating and Running a Modular Program
  • Updating Our Example for Multiple Modules
  • Diving into the module-info File
  • Discovering Modules
  • Reviewing Command-Line Options
  • Summary
  • Exam Essentials

Hands-on LAB Activities (Performance Labs)

Welcome to Java

  • Using Comments
  • Creating the main() Method
  • Importing a Package

Java Building Blocks

  • Creating a Constructor
  • Creating an Object
  • Using Java Primitives 
  • Using Multiple Variables
  • Using a Variable
  • Creating a Local Variable


  • Using the Modulus Operator
  • Using Relational Operators
  • Using the Logical OR Operator
  • Using the Logical AND Operator
  • Using Typecasting
  • Using the instanceOf Operator
  • Using the Ternary Operator

Making Decisions

  • Using the switch Statement
  • Using the if-else Statement
  • Using the if Statement
  • Using the while Loop
  • Using the do/while Loop
  • Using the for Statement
  • Using the for each Loop
  • Using the return Statement
  • Using the Nested Loop
  • Using the break Statement
  • Using the continue Statement

Core Java APIs

  • Using the startsWith() Method
  • Using the charAt() Method
  • Using the equals() Method
  • Using the endsWith() Method
  • Using the indexOf() Method
  • Using the substring() Method
  • Concatenating Strings
  • Using the toLowercase() Method
  • Using the toUppercase() Method
  • Using the contains() Method
  • Using the delete() Method
  • Using the length() Method
  • Using the reverse() Method
  • Using the append() Method
  • Using the insert() Method
  • Using the tostring() Method
  • Using the mismatch() Method
  • Comparing Two Arrays
  • Searching in an Array
  • Sorting an Array
  • Accessing an Array
  • Using the clear() Method
  • Using the set() Method
  • Counting Elements of a List
  • Using the isEmpty() Method
  • Using the replace() Method
  • Removing an Element
  • Using the add() Method
  • Using the treeset
  • Using the HashSet
  • Using a Map 
  • Using a Set
  • Using the round() Method
  • Using the max() Method
  • Using the min() Method
  • Using the pow() Method

Lambdas and Functional Interfaces

  • Using a Lambda Expression
  • Creating an Interface
  • Using the Supplier Interface
  • Using the Consumer Interface
  • Using the Predicate Interface
  • Creating a Lambda Expression With Multiple Parameters
  • Creating a Lambda Expression With a Single Parameter
  • Creating a Lambda Expression Without Parameter
  • Using the forEach() Method
  • Using the removeIf() Method

Methods and Encapsulation

  • Using the Access Modifier
  • Creating a Method
  • Using the Static Method
  • Using Static Variables
  • Calling Method of Another Class
  • Passing Parameters to a Method
  • Overloading a Method
  • Implementing Encapsulation

Class Design

  • Using the Child Inheritance
  • Using the this Keyword
  • Using the Super Class
  • Calling Another Constructor
  • Using Method Overriding
  • Using Polymorphism

Advanced Class Design

  • Using the Abstract Method
  • Using the Static Inner Class


  • Using the throws Keyword
  • Using Runtime Exceptions
  • Using the finally Block
  • Using Multiple catch Blocks
  • Using the try/catch Block

Exam FAQs

There are no official prerequisites for the certification exam.

USD 245

Multiple Choice

The exam contains 50 questions.

90 minutes


Here are the retake policies:

  • Candidates must wait 14 days before retaking a failed proctored exam. (Registration will be allowed on the 14th day)
  • Candidates may retake an online non-proctored exam at any time.
  • Candidates may not retake a passed exam at any time.
  • Candidates may not retake a beta exam at any time.
  • Candidates are only allowed 4 attempts to pass an exam in a 12-month period.
  • Candidates must resubmit a failed Master Assignment within 30 days of receiving the notification of failing.