About This Course
<div>Java is one of the most popular programming languages. Java offers both object-oriented and functional programming features.</div><div><br></div><div>We take a hands-on approach using a combination of JShell and Eclipse as an IDE to illustrate more than 200 Java Coding Exercises, Puzzles, and Code Examples. This course assumes no previous ( beginner ) programming or Java experience. If you’ve never programmed a computer before, or if you already have experience with another programming language and want to quickly learn Java, this is a perfect course for you.</div><div><br></div><div>In more than 250 Steps, we explore the most important Core Java Programming Language Features</div><div><ul><li>Basics of Java Programming - Expressions, Variables, and Printing Output</li><li><span style="font-size: 1rem;">Java Operators - Java Assignment Operator, Relational and Logical Operators, Short Circuit Operators</span></li><li><span style="font-size: 1rem;">Java Conditionals and If Statement</span></li><li><span style="font-size: 1rem;">Methods - Parameters, Arguments, and Return Values</span></li><li><span style="font-size: 1rem;">Object-Oriented Programming - Class, Object, State, and Behavior</span></li><li><span style="font-size: 1rem;">Basics of OOPS - Encapsulation, Abstraction, Inheritance, and Polymorphism</span></li><li><span style="font-size: 1rem;">Basics about Java Data Types - Casting, Operators, and More</span></li><li><span style="font-size: 1rem;">Java Built-in Classes - BigDecimal, String, Java Wrapper Classes</span></li><li><span style="font-size: 1rem;">Conditionals with Java - If Else Statement, Nested If Else, Java Switch Statement, Java Ternary Operator</span></li><li><span style="font-size: 1rem;">Loops - For Loop, While Loop in Java, Do While Loop, Break and Continue</span></li><li><span style="font-size: 1rem;">Immutability of Java Wrapper Classes, String and BigDecimal</span></li><li><span style="font-size: 1rem;">Java Dates - Introduction to LocalDate, LocalTime and LocalDateTime</span></li><li><span style="font-size: 1rem;">Java Array and ArrayList - Java String Arrays, Arrays of Objects, Primitive Data Types, toString and Exceptions</span></li><li><span style="font-size: 1rem;">Introduction to Variable Arguments</span></li><li><span style="font-size: 1rem;">Basics of Designing a Class - Class, Object, State and Behavior. Deciding State and Constructors.</span></li><li><span style="font-size: 1rem;">Understanding Object Composition and Inheritance</span></li><li><span style="font-size: 1rem;">Java Abstract Class and Interfaces. Introduction to Polymorphism.</span></li><li><span style="font-size: 1rem;">Java Collections - List Interface(ArrayList, LinkedList and Vector), Set Interface (HashSet, LinkedHashSet and TreeSet), Queue Interface (PriorityQueue) and Map Interface (HashMap, HashTable, LinkedHashMap and TreeMap() - Compare, Contrast and Choose</span></li><li><span style="font-size: 1rem;">Generics - Why do we need Generics? Restrictions with extends and Generic Methods, WildCards - Upper Bound and Lower Bound.</span></li><li><span style="font-size: 1rem;">Functional Programming - Lambda Expression, Stream and Operations on a Stream (Intermediate Operations - Sort, Distinct, Filter, Map and Terminal Operations - max, min, collect to List), Functional Interfaces - Predicate Interface, Consumer Interface, Function Interface for Mapping, Method References - static and instance methods</span></li><li><span style="font-size: 1rem;">Introduction to Threads and MultiThreading - Need for Threads</span></li><li><span style="font-size: 1rem;">Implementing Threads - Extending Thread Class and Implementing Runnable Interface</span></li><li><span style="font-size: 1rem;">States of a Thread and Communication between Threads</span></li><li><span style="font-size: 1rem;">Introduction to Executor Service - Customizing the number of Active Threads. Returning a Future, invokeAll, and invokeAny</span></li><li><span style="font-size: 1rem;">Introduction to Exception Handling - Your Thought Process during Exception Handling. try, catch, and finally. Exception Hierarchy - Checked Exceptions vs Unchecked Exceptions. Throwing an Exception. Creating and Throwing a Custom Exception - CurrenciesDoNotMatchException. Try with Resources - New Feature in Java 7.</span></li><li>List files and folders in Directory with Files list method, File walk method and find methods. Read and write from a File.</li></ul></div><div><span style="font-size: 1rem;">Covers Java New Features from Java 8 to Java 25 (incl. Java 17, Java 21)</span></div><div><ul><li>Java 8 – Embraced functional programming with Lambda expressions and Streams.</li><li><span style="font-size: 1rem;">Java 9 – Introduced modularization to the Java Platform - enabling faster startup and less memory footprint for Java applications</span></li><li><span style="font-size: 1rem;">Java 10 to NOW – Started the six-month release cycle for faster updates and quick feedback. (Java 10 to Java 25 to ..)</span></li><li><span style="font-size: 1rem;">Java 11 to NOW – Reduced code verbosity</span></li><li><span style="font-size: 1rem;">Switch Expressions – More concise conditional logic. (Java 14)</span></li><li><span style="font-size: 1rem;">Text Blocks – Simplifies multi-line strings. (Java 15)</span></li><li><span style="font-size: 1rem;">Records – Reduces boilerplate for data objects. (Java 16)</span></li><li><span style="font-size: 1rem;">Pattern Matching – Enhances code readability and conciseness. (Java 16)</span></li><li><span style="font-size: 1rem;">Sealed Classes - Controlled inheritance of your class hierarchies. (Java 17)</span></li><li><span style="font-size: 1rem;">Unnamed Variables & Patterns – Allows ignoring unused variables in code. (Java 22)</span></li><li><span style="font-size: 1rem;">Markdown Documentation Comments – Enhances Javadoc with Markdown support (Java 23)</span></li><li><span style="font-size: 1rem;">Stream Gatherers – Introduces new ways to aggregate stream data. (Java 24)</span></li></ul></div><div><span style="font-size: 1rem;">Java 21 to NOW:</span></div><div><ul><li>Project Loom – Virtual threads for high-performance concurrency. (Java 21)</li><li><span style="font-size: 1rem;">Cloud & Container-Ready – Optimized for modern cloud-native applications.</span></li></ul></div><div><span style="font-size: 1rem;">Start Learning Now. Hit the Enroll Button!</span></div>
What you'll learn:
- HANDS-ON with EXERCISES and PUZZLES: Learn Object Oriented Programming with Java
- CLEAR YOUR JAVA INTERVIEWS: GET ALL the SKILLS to demonstrate an EXPERTISE with Java Programming