
Master Java from basics to advanced topics by building real projects; cover variables, arrays, strings, object-oriented programming, generics, collections, GUI, serialization, design patterns, and unit testing.
Install the chosen java development environment, download the latest JDK, and create your first hello world Java project. Then run the program to print a message to the console.
Explore java data types, focusing on primitive types—boolean, byte, char, short, int, long, float, double—and non-primitive types like strings, with variable declaration and memory concepts.
Explore Java primitive data types like float and double, boolean, and char, their memory representations, and how to print using System.out, name variables with lowercase, and use single quotes.
Explore Java expressions with literals and operators: addition, subtraction, multiplication, division, and modulus. Learn how integer division truncates, and how casting to float preserves decimals with proper operator precedence.
Develop a Java program that uses a scanner to read weight and height, computes the body mass index as weight divided by height squared, and displays the BMI.
Explore pre and post increment and other variable operations in Java, including x = x + 1, ++ and -- forms, decrement, division, modulus, and the memory timing differences.
Explore declaring int and double variables, show how Java promotes int to double in expressions like 5.0, cast doubles to int to truncate, and assign right-to-left with chained assignments.
Explore loops and the for loop to repeatedly print the squares of the first five numbers, and explain initialization, condition, and update steps to avoid redundancy.
Trace a for loop step by step, from initialization to update, mastering test conditions and the loop body, with a practical example printing i squared from 1 to 5.
Explore how nested for loops let the outer loop control lines and the inner loop control columns to print star patterns and shapes.
Explore while loop and do while loop in Java, and compare them with for loops. Learn to print stars patterns and manage initialization, conditions, and increments to avoid infinite loops.
Master Java conditional statements using if, else if, and else to direct execution. Understand the equality operator and comparisons like less than and greater than to choose the correct path.
Explore Java conditional statements by translating if, else if, and switch structures, using cases, break, and default to control program flow.
Write a Java program to compute the factorial of 10 with a for loop, multiplying sequentially to update a running result and print the sequence.
Write a Java program that compares two numbers entered by the user at runtime using a scanner, then use if-else to print which is greater or if they are equal.
Learn to write a Java program that reads an integer from the user and computes the sum of its digits using a while loop with modulus and division by 10.
Learn how to convert between strings and integers in Java using the Integer class, including parsing strings to numbers and converting numbers back to strings for arithmetic and display.
Write a Java program that reads a number from the user using a scanner and prints all prime numbers from 1 to n, using a divisor counter and modulus checks.
Explore strings as objects in java, learn string literals, concatenation with plus, and essential string methods such as contains, equals, indexOf, replace, toUpperCase, toLowerCase, charAt, length, and substring.
Explore the Java character type as a primitive, using single quotes, ascii and unicode values, escape sequences, and basic Character methods, with examples converting between char and integer.
Explore how arrays in Java store multiple values of the same type, declare and initialize them, access elements by index, and iterate with for and for-each loops.
Master multidimensional arrays in Java, viewing them as arrays of arrays. Learn two-dimensional and multi-dimensional matrices with index i, j and nested loops to read and print values.
Read 10 numbers with a scanner, store them in a Java array, and sum them using a for or for-each loop.
Learn to build a Java program that reads ten numbers with a Scanner, stores them in an array, sums the elements, and prints their average.
Learn how to remove an element from a Java array by shifting elements to the left with a for loop, since arrays have no remove method, and print updated array.
Master insertion into arrays by shifting elements and placing a new value at a chosen index, demonstrating how static arrays handle insertion, printing, and the limitations of fixed size.
Implement a Java program to find the minimum and maximum in an integer array by initializing the first element as the minimum and as the maximum, then iterating to update.
Learn how to reverse a Java integer array using a for loop over half the length, with a temporary variable for in-place swaps; compare a temporary array approach.
Explore how to implement a Java program that finds duplicates in an array using nested loops, comparing elements pairwise and printing repeated values like 3 and 7.
Learn how to rotate a Java array clockwise by one position using a for loop and a temporary variable, with a practical example and printing the result.
Count letters, spaces, digits, and other characters in a user input string by converting the string to a character array and iterating to determine each character type.
Read a string from the user with a scanner using nextLine, reverse it by a for loop from the end, and print the result.
Define classes as blueprints and objects with states and behaviors, and learn to create a student class in Java with states and methods.
Learn how to define methods in Java, pass parameters, and call them from main, using public static void and void return type to perform actions and print messages.
Explore how to define methods with multiple parameters and a return value, pass arguments in order, and return sums or other types while using print statements to demonstrate results.
Master method overloading in Java by using the same method name with different parameters and return types to sum integers and doubles.
Explore how to define a student class in Java, create object instances, and access their states (name, age, color, sex) and behaviors (eat, drink, run) through methods.
Learn how to use constructors in Java to initialize fields and create objects from a class. Explore default and parameterized constructors, and how to pass name, age, color, and sex.
Explore how access modifiers control object state in Java, comparing public, private, protected, and default access, with encapsulation demonstrated in a student class and upcoming getters and setters.
Learn how encapsulation secures data by using private fields with public getters and setters, demonstrating controlled access and data hiding in Java.
Learn how Java packages group related classes, use built-in Java API packages, and create user-defined packages, with imports and examples like the scanner utility.
Explore static and non-static variables in java, showing how static variables share one copy across all objects while local and instance variables belong to each instance and are accessed accordingly.
Explore non-access modifiers in Java, including final and abstract, and learn how they shape class inheritance and object creation alongside static, volatile, transient, and synchronized.
Explore inheritance in Java by examining subclass and superclass, with a car extending vehicle to show inherited brand and honk behavior and a model name.
This inheritance example uses a company employee case study to show how an employee superclass can be extended by lawyer, secretary, and marketer, reducing code duplication and enabling overriding.
Explore how the super keyword initializes a subclass from its parent, ensures proper constructor chaining, and passes parameters to the superclass in Java inheritance.
Explore how to use inheritance and method overriding in Java to customize subclass behavior, override get hours, get vacation days, and salary with super calls.
Explore the Java object class as the ultimate superclass, and learn how equals, hashCode, and toString relate to object identity, references, and content equality.
Explore polymorphism and inheritance through a superclass and subclasses like lawyer, secretary, and marketer, showing how client code treats different objects uniformly as each subclass overrides behavior.
Explore polymorphism mechanics in Java, showing how inheritance and compiler rules constrain base-type references and how casting enables access to subclass-specific methods.
Learn to use composition instead of inheritance in Java, distinguishing has-a from is-a relationships, and design circle and point classes that model real-world relations with clear abstractions.
Explore how inheritance creates an is-a relationship and how composition enables a has-a relationship, using a vehicle, a car, and an engine, and see how price calculation can be overridden.
Explore why Java uses single inheritance and how interfaces enable multiple inheritance by defining a contract that shapes implement to calculate area and perimeter.
Explore how the course replaces a shared shape superclass with a shape interface, defining area and perimeter methods implemented by circle, rectangle, and triangle, showcasing polymorphism.
Explore abstract classes and interfaces in Java, including abstract methods and instantiation rules. Learn how to use abstract classes for shared code and interfaces for behavior with multiple inheritance.
Design a case study portfolio system using inheritance and interfaces to model stocks, dividend stocks, mutual funds, and cash, each computing market value and profit via an asset interface.
Develop an asset hierarchy for stocks and mutual funds using inheritance and interfaces, including dividend stocks, tax implications, market value, total cost, and purchase behavior.
Explore how this Java case study models assets, stocks, mutual funds, and cash using an abstract shared asset class, interfaces, and inheritance to compute market value and profit.
Explore the ArrayList, a dynamic, list interface solution that overcomes fixed-length arrays, and learn how adding at a position shifts elements and removal shrinks the list.
Import the ArrayList class and construct an array list of strings using the diamond syntax, then add elements and insert at a specific index.
Learn how to change and remove elements in an array list using the set and remove methods by index or by object, and observe how elements shift left after removal.
Learn to iterate through an ArrayList in Java using index-based looping, a for-each loop, and an iterator, printing each element.
Understand why ArrayList cannot hold primitive data and how wrapper classes like Integer enable boxing and unwrapping to store integers in a list.
Explore boxing and unboxing in Java as primitive values auto-convert to wrapper objects like Integer in ArrayList, and unwrap them back for primitive use.
Learn how the Comparable interface enables natural ordering and three-way comparison with compareTo, letting you sort ArrayList and other collections in Java.
Explore the Java collections framework, focusing on lists, sets, queues, and maps, and learn to choose the right implementation—array list, linked list, vector, hash map—based on usage and ordering.
Explore the iterator interface and the iterable concept, showing has next, next, and remove, and demonstrate traversing collections with iterators and for-each loops such as array lists.
Examine the Java collection interface and its core methods—add, addAll, remove, contains, isEmpty, size, iterator, and toArray—and how ArrayList, LinkedList, and Set implementations implement them.
Explore the Java set interface, its role in the collection framework, and how it enforces unordered elements without duplicates using implementations like HashSet, LinkedHashSet, and TreeSet.
Explore hash sets in Java: learn how a hash set uses a hash table and hash codes to store unique elements, prevent duplicates, add items, and iterate with an iterator.
Explore linked hash set, a hash set variant that preserves insertion order by maintaining a doubly linked structure, ensuring uniqueness and predictable iteration when order matters.
TreeSet stores elements via a binary search tree, keeps them in sorted ascending order, and enforces uniqueness like other sets, while supporting efficient add, remove, and search operations.
Learn to build a Java lottery program using sets to generate winning numbers, collect player numbers, find common elements, and calculate prizes based on matches.
Explore the Java collection framework by examining the List interface and its implementations, including ArrayList and LinkedList, with emphasis on doubly linked lists and efficient insertion and removal.
Explore the stack data structure, a last-in, first-out collection in Java, learn push and pop operations, view the top with peek, and examine size and iteration from top to bottom.
Explore the queue in Java, a first-in, first-out collection where elements are added at the end and removed from the front, with implementations like linked list and priority queue.
Understand how maps store key-value pairs in Java, with hash map and tree map implementations, noting unique keys, possible duplicate values, and how to traverse via keySet or entrySet.
Explore how Java maps use keySet and values for iteration, retrieve values by key in a for-each loop, and handle hash map order when pairing names with numbers.
Compare TreeMap and HashMap in Java, explore differences in performance and ordering, and learn to access keys, values, and entries with for-each loops.
You’ve just stumbled upon the most complete, in-depth Java programming course online.
Whether you want to:
- build the skills you need to get your first Java programming job
- succeed in your university courses related to java and coding
- move to a more senior software developer position
- pass the oracle java certification exam
- or just learn java to be able to create your own java apps quickly.
...this complete Java developer course is the course you need to do all of this, and more.
This course is designed to give you the Java skills you need to get a job as a Java developer. By the end of the course, you will understand Java extremely well and be able to build your own Java apps and be productive as a software developer.
Lots of students have been successful in getting their first job or promotion after going through the course.
The course is a whopping 36 hours long. Perhaps you have looked at the size of the course and are feeling a little overwhelmed at the prospect of finding time to complete it. Maybe you are wondering if you need to go through it all?
The core java material you need to learn java development is covered in the first seven sections (around 14 hours in total). The Java Basics are covered in those sections. The rest of the course covers intermediate, advanced, and optional material you do not technically need to go through.
Why would you choose to learn Java?
The reality is that there is a lot of computer languages out there. It's in the hundreds. Why would you choose the Java language?
The number one reason is its popularity. According to many official websites that track the popularity of languages, Java is either #1 or in the top 3. Popularity means more companies and their staff are using it, so there are more career opportunities available for you if you are skilled in the language.
The last thing you want to do is pick a language that is not in mainstream use. Java came out in the 1990s and is still very popular today.
Here’s just some of what you’ll learn
All the essential Java keywords, operators, statements, and expressions needed to fully understand exactly what you’re coding and why - making programming easy to grasp and less frustrating
You will learn the answers to questions like What is a Java class, What is polymorphism and inheritance and to apply them to your java apps.
How to safely download and install all necessary coding tools with less time and no frustrating installations or setups
Complete chapters on object-oriented programming and many aspects of the Java API (the protocols and tools for building applications) so you can code for all platforms and unlock your program’s user base (and potential sales)
How to develop powerful Java applications using one of the most powerful Integrated Development Environments on the market, IntelliJ IDEA!
Solving 41 coding exercises from real university exams like CNAM Paris university
Build 5 complex projects from scratch to publish and sell.
Is the course updated?
It’s no secret how technology is advancing at a rapid rate. New, more powerful hardware and software are being released every day, meaning it’s crucial to stay on top with the latest knowledge. Yes! we will update this course and expand it to be the largest course on the web with hundreds of exercises and thousands of ideas.
Ready to get started, developer?
Enroll now using the “Add to Cart” button on the right, and get started on your way to creative, advanced Java brilliance. Or, take this course for a free spin using the preview feature, so you know you’re 100% certain this course is for you.
See you on the inside (hurry, Java class is waiting!)