
Explore introductory Java topics and advanced topics like object oriented programming, collections, input and output, exceptions, streams, and multi-threading, to prepare for the Oracle certification and Android development.
Download and install the Eclipse IDE for Java developers, install the JDK, set up a project, create a hello world class, and run it to see output in the console.
Explore primitive types in Java, including int and double, booleans, chars, casting between types, and a primer on strings.
Explore how integers and doubles interact in Java, showing how integer division truncates decimals, while mixing int and double yields a double result; learn to cast to control precision.
Explore how strings store multiple characters, why they are immutable, and how to initialize, compare using equals versus double equals, and manipulate them with replace, substring, and length.
Master if-else and else-if chains in Java by exploring conditions, default pricing, and age-based discounts with practical examples.
Learn how the switch statement replaces long if-else chains by matching a value to multiple cases, using breaks to prevent fall-through and avoid code repetition.
Learn arrays and zero-based indexing, create and modify values, and iterate with for loops and for-each syntax. Use Arrays.sort to order integers or strings and understand index bounds.
Explore how functions take input parameters, perform operations, and return results. The lecture demonstrates a prime-number check using modulo and loops, plus practice with printing and main method.
Learn how objects act as containers for user data, using a class blueprint and constructor to create instances with memory allocated by new, access fields, and manage arrays of objects.
Learn encapsulation in Java by hiding sensitive fields with private access, exposing controlled access via public getters and setters, and enforcing password checks to protect money.
Explore subclassing by modeling a school with person, student, and teacher, using a base class to encapsulate name and birthdate, then override printInfo to illustrate polymorphism.
Learn how a teacher extends the person base class, implement getters and setters, apply access modifiers, and demonstrate polymorphism by storing students and teachers in a single person array.
Explore method overloading in Java by modeling a student and assignment, using encapsulation, constructors, and getters/setters, and implementing overloaded methods for printing and assigning work.
Learn how the final modifier prevents overriding and subclassing to preserve a salary calculation formula across teachers, including a student teacher example and final method and final class concepts.
Learn how the instance of operator works, why polymorphism usually replaces it, and when downcasting or reflection is needed within a base class hierarchy of person, teacher, and student.
Discover how the static keyword in Java creates class-level methods and constants, enforces access rules with static vs instance members, and enables patterns like singleton.
Explore the singleton design pattern, using a private constructor and a static instance to ensure one school object is accessible from anywhere and prevents global state bugs.
learn varargs in java by adding multiple assignments to a student’s array up to 20 assignments, using a constructor and an enhanced for loop to print all assignments.
Explore abstract classes and the abstract modifier, and see how an abstract printInfo enforces overrides in subclasses such as teacher, principal, or student.
Explore nested classes in Java, including non-static inner classes and static nested classes, how they access outer fields, instantiation, and encapsulation via private nested classes and getters.
Explore interfaces in Java, declare interface with method headers, implement and override methods, and use multiple interfaces to enable polymorphism across animals and cars, contrasting with abstract classes.
Explore interface versus abstract class design, showing when interfaces define abstract methods without implementation and when abstract classes provide overridable behavior and concrete methods.
Explore subclassing interfaces and multi-interface inheritance in Java, and how default methods let you add behavior without forcing every implementing class to override.
Learn how anonymous inner classes implement interfaces without separate classes. Pass anonymous instances to methods and compare this approach to subclassing an abstract class for shorter, easier coding.
Master lambda expressions in Java and contrast them with anonymous inner classes, using interfaces with a single abstract method to write concise, asynchronous code that avoids blocking the user interface.
Discover how arraylists grow automatically to add items, use generics for type safety with strings, and sort with a comparator defined as an anonymous inner class.
Learn how generic classes let an Oracle array list work with any type, enabling safe resizing and avoiding duplicated code.
Explore hash maps as a key-value store that maps keys to values with a hash function for fast lookups. Learn how modulo and additional arrays address collisions.
Discover how hash maps handle collisions by using buckets of lists, updating existing keys, and optimizing access with hashing, buckets, and prime moduli to reduce collisions.
Explore how treesets automatically order inserted items using a binary search tree and comparable interface. Understand deques, linked lists, and push, pop, and top operations to manage ordered data efficiently.
Learn how the builder pattern simplifies constructing objects with multiple parameters, compare it to traditional constructors, and see how lambda expressions and streams complement this approach.
Learn to loop through a collection of objects using lambda expressions in Java 8+. Use forEach and the Consumer interface to process each item.
Explore Java streams and filtering with lambda expressions, using predicates to keep or discard users by name, and iterating with for each to print results.
Explore the java.util.function interfaces such as predicate, consumer, supplier, and function, and how they enable filtering, processing, supplying values, and mapping inputs to outputs.
Explore lambda expressions in Java by building a stream pipeline from a source through intermediate operations like filter with predicates to a terminal operation. It demonstrates lazy processing and sorting.
Transform streams into collections with collectors by creating person objects, filtering by age, and collecting results into lists and grouped maps.
Learn to program in Java and prepare for the Oracle Java certification exam with one single training program. This course serves the dual purpose of making you a proficient Java programmer by focusing on practical java paradigms and also help you get certified by making sure you are fully prepared for the java certification exam.
This course is for anyone who wants to learn java from the ground up. It starts with basic java installation and help you master the language by going through tons of programming examples. The main sections covered in the course are:
Java Syntax and Class Review
This section ensures that you get familiar with the java syntax and general programming constructs. You will learn conditionals and iterators along with different data types and data structures.
Encapsulation and Subclassing
Get started with object oriented programming in this section learning about Classes, Objects, encapsulation and subclasses. These are the basic building blocks of Java programming.
Polymorphism
This section will help you master concepts covering the powerful polymorphism feature in java. Topics such as method overriding, final, static keyword and singleton class will be covered in this section.
Abstract and Nested Classes
Learn to take a deep dive into object oriented programming with concepts such as nested and inner classes. Learn to use the power of Java for creating more complex programs.
Interfaces
Learn about Inheritance and its use with Java language. Understand why you should use interfaces and how they help in designing complex software.
Collections and Generics
Learn about the latest data structures introduced in Java and how they make programming easier.
Lambda Expressions, Streams and Filters
Get to know the exotic concepts such as streams, filters and lambda expressions. Build programs with them and learn the perfect use.
I/O Fundamentals
Input output across systems is an important concept and this section will cover all the relevant topics with examples.
Date and Time
Learn to manage date and time in Java and learn the useful APIs
Threads
Learn multi threaded programming which executes different part of our programs as separate process. Learn all about deadlock and threading problems.
Learn all this and much more in this truly ultimate course which will make you a champion Java developer by the end of it. So just enroll and see you in the first lecture.