
Begin your path to becoming an Oracle-certified Java developer by installing the Java Development Kit and using IntelliJ IDEA across Mac, Linux, and Windows.
Install the java development kit on windows by downloading jdk8 from java.oracle.com, selecting 32- or 64-bit, accepting the license, and completing the installation (which includes the jre) in program files/java.
Open a browser to java.oracle.com, download the java development kit (jdk) for Mac, accept the license, run the installer, and enter your password to complete installation.
Install Oracle Java 8 on Ubuntu 16.04 by adding the webupd8team java PPA and installing the Oracle Java 8 installer. Verify with java -version and javac.
Download and install IntelliJ IDEA for Windows from JetBrains, compare community and ultimate editions, and configure the Java development kit and project structure, including SDK, auto import, and line numbers.
Install and configure IntelliJ IDEA on a Mac. Choose between Community Edition and Ultimate with a 30-day trial, and set up the JDK and IDE preferences.
Download, install, and configure IntelliJ IDEA on Linux 16.04, choosing between the community and ultimate editions, then set up the JDK and essential IDE preferences.
Learn java class structure by building a simple person class with fields and methods, including getters, setters, and method signatures to manage state.
Master the main method signature and its array arguments, and print them with System.out.println. Learn to pass arguments through run configurations and use a for loop to print each element.
Learn to use single line, multi-line, and javadoc comments in IntelliJ, boosting readability and documentation, with shortcuts like ctrl slash and ctrl shift slash.
Learn how to manage naming conflicts and format Java code, including packages, full class names, wildcard imports, and exam-focused examples.
Explore Java primitive data types, their sizes, and what they store, from boolean and byte to short, int, long, char, float, and double. Learn numeric literals and type suffix rules.
Learn about whole numeric primitives in Java, including literals and default int interpretation, and using long with L suffix. Explore underscores for readability and bases such as octal, hex, and binary.
Explore decimal numeric primitives in Java, where decimal literals default to double and floats require an f suffix. Learn underscore rules, scientific notation with e, and hex literals like 0x1.91eb851eb851fp1.
Explore primitive char and boolean types in Java, using literals and Unicode escapes like \u03A9 and 216C, define char ch as 'a', and print true or false.
Learn how to declare and initialize variables in Java, including single and multi-line approaches, and recognize valid identifiers and common compilation errors like uninitialized local variables.
Discover how primitive types are default-initialized in Java, why local variables aren’t initialized, and how static fields initialize to zero or false, with hands-on code demonstration.
Explore variable scope by examining code blocks, local and global variables, and how braces define blocks; see how scope affects access and compilation outcomes.
learn how to order elements in a java class—from package declaration to imports, class, and fields and methods—and avoid common compile-time errors.
Understand how null works in java, including default initialization for objects, the difference between objects and primitives, and tips to avoid null pointer exceptions, with hash codes.
Explore primitive wrapper types in Java, and master boxing, unboxing, and auto boxing while handling null values and avoiding null pointer exceptions with Integer and int.
Discover Java's benefits: object oriented with classes and objects, encapsulation with access modifiers, write once run anywhere via bytecode, memory management with garbage collection, and secure execution on the JVM.
Practice with real 1Z0-808 exam questions, identify valid Java identifiers, understand primitive types, analyze entry points, imports, and default initializations to build exam readiness.
Explore Java operators, their precedence, and practical examples. Learn unary and binary operators, assignment operators, and key relational, logical, and short-circuit operators used in the course.
Master arithmetic operators, including plus, minus, multiply, divide, modulus, and unary increment and decrement, and learn how brackets and precedence affect results through practical examples.
Explore Java unary operators including plus, minus, increment, decrement, and not, covering pre and post forms, booleans, and common compile-time type errors with examples.
Master unary operators, especially pre and post increment and decrement, learn their higher precedence over arithmetic operators, predict outputs, and navigate exam-style expressions with confidence.
Learn how compound assignment operators work as shorthand for expressions like x = x * z, and navigate common pitfalls, casting rules, and exam-style questions.
Explore Java relational operators, including less than, less than or equal, greater than, and greater than or equal, and how they return booleans when comparing int, long, and double.
Master conditional operators, short-circuiting, and truth tables for and, or, and exclusive or in Oracle Java Certification, with practical boolean expressions and IntelliJ examples.
Understand the difference between the equals operator and the equals() method in Java, and see how primitive versus boxed integers affect equality and reference identity.
Master character arithmetic in Java by exploring the char primitive and its wrapper, using ASCII values, casting between int and char, and applying isLetter and isDigit checks.
Analyze question examples from the Oracle Java Certification exam, covering boolean and arithmetic operators, data type promotion, casting, and code output scenarios.
Master the if-else statement in Java, covering boolean expressions, braces, not operator, and else-if chains with grade calculations and practical output examples.
Explains the switch statement structure, case and default branches, and how break controls flow. Covers supported data types (int, short, char, byte, string) and contrasts switch with if statements.
Explore the while loop structure, including the boolean expression and braces enclosing the body, with exam-style questions. Identify endless loops and never-executed loops, and fix them by updating loop variables.
Explore the do-while loop in Java, compare with while, and learn when it runs at least once, including booleans, braces, and nested examples.
Learn how to construct and control for loops in Java, including initialization, boolean checks, updates, and variable scope. Avoid common exam pitfalls like multiple initializations, infinite loops, and incompatible types.
Explore sample 1z0-808 questions by analyzing Java code outputs, compilation outcomes, and tricky constructs such as while loops, for loops, ternary operators, and switch statements.
Learn to create strings with literals, avoid new, and use the plus operator for concatenation, distinguishing numeric addition from string concatenation under left-to-right evaluation.
Strings are immutable, so once created they cannot be changed. Every operation returns a new string, so concatenation and toUpperCase produce new values rather than modify the original.
Explore how string pool and string equality work in Java, comparing strings with equals vs identity, and how literals, new, and compile-time concatenation affect references and memory.
Explore essential Java string methods in this part 1, including length, charAt, indexOf, substring, and case conversion, while learning string immutability and index rules.
Explore java string methods such as equals, equals ignore case, starts with, ends with, contains, replace, and trim, with examples demonstrating behavior and immutability of strings.
Explore method chaining on strings by using trim, toLowerCase, and replace to produce a new result, highlighting string immutability and how equals checks compare results.
Learn how to use the string builder to build strings efficiently by appending characters, avoiding repeated string creation due to immutability, and understanding length and capacity.
Explore essential string builder methods including index, length, and substring, and learn how to append, insert, delete, reverse, and convert to strings using the builder pattern.
Explore how the equals operator and equals method compare primitives and object references, including strings, string builders, and the effects of append, trim, and runtime string concatenation.
Solve common java exam questions by examining outputs, compilation errors, and equality concepts. Explore string, string builder, and immutable objects, plus substring and index behaviors.
Explore arrays in Java by declaring and initializing them, accessing elements by index, and printing with loops and Arrays.toString, while understanding length, bounds, and primitive vs object defaults.
Explore the break statement and optional labels, learning how break exits loops in for, while, and switch, with notes on readability.
Learn how the continue statement skips the current loop iteration, uses optional labels, and contrasts with break across for, while, and switch contexts in code.
Learn how to search arrays and apply binary search rules to determine element indexes in sorted arrays, including how negative results indicate insertions and how unsorted arrays yield unpredictable outcomes.
Learn about variable arguments (varargs) in Java, including main methods with String[] arrays or varargs, how to pass and print a flexible number of arguments.
Explore multidimensional arrays in Java, learn to declare and initialize 1D, 2D, and 3D arrays, visualize row-major structures, and distinguish symmetrical and asymmetric layouts.
Explore nested loops in Java, using multi-dimensional arrays, break and continue with labels, and do-while versus while, to print hours and minutes and iterate array elements.
Explore practical Java exam question examples with detailed solutions, covering outputs, compile-time errors, array declarations and length, enhanced for loops, do while usage, and switch case rules.
Explore array list, a core Java collections API component, as a dynamic array that resizes automatically. Apply generics and the diamond operator to enforce type safety and polymorphism.
Explore array list basics by using generics, adding, removing, and setting elements, and printing lists with toString. Learn index-based operations, resizing behavior, and how index out of bounds errors arise.
Explore core ArrayList methods like isEmpty, size, clear, contains, and equals, and learn how they determine emptiness, element presence, and list equality in the Java collections framework.
Master using wrapper classes with ArrayList, including boxing and unboxing between primitives and their wrappers. Identify pitfalls like null pointer exceptions from nulls and the difference between remove(index) and remove(object).
Explore how to convert between lists and arrays in Java, using toArray and Arrays.asList, and understand fixed-size list behavior and shared backing arrays.
Sort elements in lists and array lists with collections.sort, using strings and numbers to show how sorting differs for alphabetical strings versus numeric data, with asList and arrays aiding preparation.
Learn how to search elements in an ArrayList using binary search with Collections.binarySearch, and avoid undefined results by sorting first.
Explore iterating lists with for loops, for each, and list iterators, and learn to read and remove elements with ListIterator to avoid index out of bounds and concurrent modification exceptions.
Compare Java list iteration methods—for, for-each, iterator, and list iterator—based on performance, needs for index, element removal, and backward traversal, with practical microbenchmark results.
Explore Java question patterns on arrays and ArrayList, size vs length, equals and contains, indexOf, asList, autoboxing, and runtime vs compile-time errors.
Java method declaration basics: access modifiers (public, private, protected, default), optional specifiers (static, final, abstract, synchronized, native), return types, and common compile versus non-compile examples.
Master how method return types specify a value, when void applies, and why non-void methods need a return statement. Explore type compatibility and valid method identifiers.
Learn how method parameters define type and number, and how arguments pass values. Explore zero arguments (nilla), monadic, dyadic, and triadic methods, with notes on four arguments and compilation rules.
Learn to write methods with variable arguments in Java, understand varargs rules, and call them with zero or many arguments.
Learn how public, protected, default, and private access modifiers control visibility of methods and fields across classes and packages, with hands-on examples in a Java project.
Explore static methods and fields in Java, see how to call them without creating an instance, and observe that the main method is static and accessible from other classes.
Learn how to use static methods and fields, call static methods with a class name, and share static variables across instances, illustrated with a dog counter example.
Learn how static methods and fields operate in Java, how static context differs from instance context, and how non-static methods require an object to be called from a static context.
Learn about the final keyword, using final to declare constants and array sizes, preventing reassignment while allowing method calls and in-place modifications of the object, with examples.
Explore static initialization and static initializer blocks, showing how final variables must be assigned in a static block and how multiple initializers affect order.
Explore how Java passes data to methods by value, showing that primitives copy values while object references share the same memory, allowing mutations but not caller reassignments.
Explore returning data from methods, including primitives and references, how copies are returned to the caller, and how parameters, method calls, and assignments shape results.
Explore how overloaded methods share names but differ in parameter types or counts, and how Java selects the best match via exact type, boxing, or varargs.
This lecture presents practice questions from prior Java exams, with explanations on access modifiers (private, default), final and static, varargs usage, method overloading, and static imports to build exam readiness.
Learn how constructors initialize instance variables, define a constructor with the same name as the class, use this to reference fields, and provide parameters.
Learn how the compiler generates a default no-argument constructor when no constructors exist, and how access modifiers like private, protected, and public affect instantiation.
Explore overloaded constructors in Java, including a dog example with three constructors, and learn constructor chaining with this(), which reduces duplicate initialization by calling one constructor from another.
Explore how this references an object's own instance and differentiates fields from parameters, using it in constructors to initialize first and last names and avoid name conflicts.
Explore the order of initialization in Java, learning how static initializers, static variables, instance initializers, and constructors execute in order, and why instance initializers are discouraged.
Data encapsulation hides private fields behind public getters and setters, preventing external access and null pointer errors; use POJOs to maintain and reuse code while preserving implementation details.
See how immutable classes enforce encapsulation by removing setters, using final fields set in constructors, and returning new instances for operations, with a complex number example.
Explore Java class inheritance, extending classes, and constructor chaining with super and this, illustrated by animal, dog, and husky hierarchy and initialization order.
Learn constructor definition rules and how to call parent constructors, and examine inheritance with protected versus private access, getters, and setters in a Java class hierarchy.
Override a method in a child class using the super keyword to reuse parent logic. Explore why final methods cannot be overridden and how annotations like @Override aid correct overriding.
learn the difference between the super keyword and super() constructor calls, when to use each with a parent class, and common compilation errors like placing super or this correctly.
Learn the difference between overloading and overriding in Java; overloading uses different parameters while overriding requires the same signature, with examples on return types and access modifiers.
Explore how abstract classes cannot be instantiated and can define zero or more abstract methods that child classes must implement, using inheritance where parent classes provide shared behavior.
Explore abstract methods in abstract classes: rules for definition, why they cannot be private or static, and how subclasses must implement them with matching signatures.
Learn interface structure, access modifiers, and the interface keyword, and see how fields are implicitly public static final while methods are public abstract by default.
Implement interfaces in java by using the implements keyword and defining interface methods, with examples like dog and husky overriding tail length and showing how multiple interfaces shape behavior.
Explore default interface methods in Java: using the default keyword to provide implementations, ensure backward compatibility, resolve multiple inheritance, and learn when to override or inherit.
Learn how interface static methods work in Java 8 and later. Reference them with the interface name, since they are public by default and not inherited by implementations.
Discover the difference between abstract class and interface with default methods in Java 8, and learn when to share code across related classes or specify behavior for unrelated types.
Explore how polymorphism in Java lets objects take multiple forms, using upcasting, downcasting, and interfaces while understanding casting rules and reference types.
Explore how polymorphism drives runtime method resolution in Java, where overridden methods are invoked based on the object's actual subclass, demonstrated with animal and rabbit examples.
Learn how polymorphic parameters and polymorphic return types let a single method handle any animal subtype, such as Husky, Rabbit, or Cat, without code duplication.
Explore Oracle Java Certification 1Z0-808 question examples on interface modifiers and default, static, and abstract methods. See how constructors, polymorphism, and interface versus abstract class shape compile-time and runtime behavior.
Learn to create dates and times in Java 8 with local date, local time, and local date time, compare to pre Java 8 calendar approaches, and understand immutability.
Learn to use java 8 date and time classes and java 7 calendar classes, focusing on immutability and plus minus methods to create new instances.
Learn to use the period class to schedule cage cleanings between start and end dates, using local date and local date time, and print each date.
Learn to format date and time in Java using the date time formatter, with local date time and predefined formats like short, medium, and long.
Parse date and time from strings, convert them to strings with formatters and patterns, and round-trip between string representations and local date and time objects.
Practice with previous exam questions on Java date and time handling, including LocalDate vs LocalDateTime, immutability, date arithmetic, and common compilation or runtime errors.
So you've learnt some Java, but are struggling to get an interview, let alone a job.
Or you are stuck in a low paying programming job, and want to move up to a better, more senior position.
Maybe you have never programmed before, and are looking for a way to get into programming for the first time.
But, just how do you get employers to notice you? How do you make your resume stand out of the crowd of programmers looking for work?
By becoming certified as an Oracle Certified Associate (OCA) Java 8 Programmer!
Being certified moves your name to the top of the list for job interviews, because there are so few other programmers officially certified by Oracle.
The Oracle Certified Associate exam (required to claim Oracle Certification) can be difficult to pass, even for experienced Java developers. This course makes passing the exam easy!
This course will teach you everything you need to know, to be able to successfully get certified as an Oracle Certified Associate Java 8 Programmer and pass the exam.
Your instructor, Goran Lochert, is himself Java Certified, and an expert Java developer, with many years of programming experience. Goran knows first hand what is required to pass the exam, because he has done it himself.
He will take you step by step, going through each and every topic you need to master, to be able to pass the exam and receive your official Oracle certification.
It's a fact that you remember about 80% of what you do, and only 30% of what you see, so this is a hands-on course. It's not just theory, like many other certification courses. Rather, it's hands-on, and designed for you to follow along, in code. The more you work with the code shown in the course, the sooner you will be able to pass the exam and receive Oracle certification.
If you have taken the OCA exam before and failed, then this course is especially relevant to you.
In addition to the over 19 hours of videos, there is also practice exams that you can take to test your skills and readiness to pass the exam.
If you are ready to get that first paid programming job, or to move up to a more senior programming position, then this course is for you!
After completing this course, you will have the necessary skills to pass the exam, including the tricky, and difficult questions that can trip up even experienced Java developers.
An example of some of the tricky questions fully explained in the course include polymorphic parameters, immutability, predicates, differences between abstract classes and interfaces with default methods, and so on.
The sooner you sign up for this course, the sooner you will have the skills and knowledge you need to be able to pass the exam and become Oracle Certified.
Your new job awaits! Why not get started today? Click the the button to sign up for the course!