Java is one of the most popular programming languages. Java offers both object oriented and functional programming features.
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.
In more than 250 Steps, we explore the most important Java Programming Language Features
- Basics of Java Programming - Expressions, Variables, and Printing Output
- Java Operators - Java Assignment Operator, Relational and Logical Operators, Short Circuit Operators
- Java Conditionals and If Statement
- Methods - Parameters, Arguments, and Return Values
- Object-Oriented Programming - Class, Object, State, and Behavior
- Basics of OOPS - Encapsulation, Abstraction, Inheritance, and Polymorphism
- Basics about Java Data Types - Casting, Operators and More
- Java Built-in Classes - BigDecimal, String, Java Wrapper Classes
- Conditionals with Java - If Else Statement, Nested If Else, Java Switch Statement, Java Ternary Operator
- Loops - For Loop, While Loop in Java, Do While Loop, Break and Continue
- Immutability of Java Wrapper Classes, String and BigDecimal
- Java Dates - Introduction to LocalDate, LocalTime and LocalDateTime
- Java Array and ArrayList - Java String Arrays, Arrays of Objects, Primitive Data Types, toString and Exceptions
- Introduction to Variable Arguments
- Basics of Designing a Class - Class, Object, State and Behavior. Deciding State and Constructors.
- Understanding Object Composition and Inheritance
- Java Abstract Class and Interfaces. Introduction to Polymorphism.
- 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
- Generics - Why do we need Generics? Restrictions with extends and Generic Methods, WildCards - Upper Bound and Lower Bound.
- 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
- Introduction to Threads and MultiThreading - Need for Threads
- Implementing Threads - Extending Thread Class and Implementing Runnable Interface
- States of a Thread and Communication between Threads
- Introduction to Executor Service - Customizing the number of Active Threads. Returning a Future, invokeAll, and invokeAny
- 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.
- List files and folders in Directory with Files list method, File walk method and find methods. Read and write from a File.