
Install JDK 10 by creating a free Oracle account, downloading from the Java Archive Downloads, and verifying with java -version across platforms.
download and install Eclipse IDE (oxygen) from the Eclipse website, unzip the installer, and run it to set up Eclipse IDE for Java EE developers with a workspace.
Create your first Java program by setting up a Java project in Eclipse, creating a package and a class with a main method, and printing hello world to the console.
Explore Java's primitive data types—byte, short, int, long, float, double, char, and boolean—covering their sizes, value ranges, default values, and how to declare and initialize them.
learn basic arithmetic operators in java, including addition, subtraction, multiplication, division, and modulus, with quotient and remainder concepts, plus increment, decrement, and compound assignments such as += and *=.
Learn about logical operators (&&, ||, !) and bitwise operators (&, |, ~) and how they operate on booleans and integers, with binary results such as 40 and 62.
Explore relational operators in Java, including equals (==), not equals (!=), greater than (>), less than (<), and their inclusive forms (>=, <=) using num1 and num2 comparisons.
Learn how the if condition in Java evaluates true or false to control code execution, and how the else branch handles when the condition is not met.
Master nested if statements in Java by building a grade calculator that assigns A, B, C, or fail based on student marks. Learn to compare three numbers with nested conditions.
Master the for loop in java by initializing a loop variable, setting bounds, and selecting a step with i++ or i+=2; explore 1 to 10 iterations and numbers with i%2==0.
Explore a hands-on exercise using a for loop to print the first 20 numbers of the Fibonacci series, by maintaining num1, num2, and num3 and swapping them each iteration.
Learn how a for loop sits inside another for loop, with the outer loop running from 1 to 10 and the inner loop running 5 times, totaling 50 iterations.
Build a six-line star pattern using a nested for loop, with the outer loop controlling rows and the inner loop printing the corresponding number of stars.
Learn how while and do-while loops work in Java, using conditions to control repetition. Do-while executes at least once, while the while loop starts only when its condition is true.
Explore how break and continue control flow in loops, exiting the loop at a condition or skipping to the next iteration, with a while-loop example in Java.
Explore basic string operations in Java, including creating strings, concatenation with + and concat, length and index concepts, trim, converting strings to uppercase or lowercase, plus empty checks.
Explore string comparison in Java by using equals, equals ignore case, compareTo, and matches with regex to validate outputs in testing.
Learn how to use contains, starts with, and ends with to locate substrings; explore index of, last index of, and case handling with lowercase conversions.
Explore string cut operations in Java, including character access by index, handling out-of-bounds exceptions, substring with begin and end indices, reversing with a for loop, and splitting by a delimiter.
Learn to replace characters and strings in Java using replace and replace all with regular expressions. Replace matches and remove special characters, as shown, 1234 becomes I.
Learn how to convert an integer to a normal string, binary, hex, and octal representations, and how to convert those strings back to integers using the appropriate radix.
Define a class as a template with variables and methods, then instantiate objects with new, using the constructor to set each object; create multiple objects with independent state.
Define an employee class with name, id, and salary fields and a method to compute a 20% bonus. Create employee main class, instantiate two objects, assign values, and display bonuses.
Explore methods in Java through creating basic methods, methods with arguments, and methods that return values; learn object creation, calling methods, and using them across classes.
Explore method overloading in Java by using the same method name with different argument types, counts, or orders, and learn how Java selects the correct method.
Explore access specifiers in Java, including public, default, private, and protected access, and learn how package scope and inheritance influence visibility.
Understand how constructors initialize object state, including default and explicit constructors, this keyword, and constructor overloading illustrated by a road toll example.
Explore data encapsulation or data hiding in Java, using private fields and getters and setters to control indirect access in object-oriented programming.
Explore the static keyword in Java, showing how static fields and methods belong to the class rather than objects, enabling shared values and class-based access.
Learn that the public static void main method is the Java program’s entry point, and the JVM provides the runtime environment while string args and no such method error matter.
Learn to build a bank account class using class and object concepts, with private fields, a constructor to initialize account details, plus deposit, withdraw, and balance display methods.
Explore Java's math class in java.lang package, using methods for min, max, pow, sqrt, and constants like PI and E, with sin, cos, tan, log, ceil, floor, round, and random.
Learn how the StringBuilder class in Java creates mutable strings to avoid creating new string objects during repeated concatenation, improving memory and performance; explore append, delete, and reverse methods.
Explore string builder methods such as insert, replace, delete, and reverse through practical examples, including inserting at a specific index, replacing a character range, and reversing the string.
Explore how to use the scanner class to capture user input in java, including strings with nextLine and numbers with nextInt or nextDouble, and reverse a string with a loop.
Generate random numbers in Java using the Random class from java.util, producing 100 values in ranges such as 0 to 1000 and 1000 to 10000, with nextInt.
Generate universally unique identifiers in Java using the UUID class. Display ten UUID.randomUUID values in a loop as 128-bit alphanumeric identifiers.
Learn how the var keyword enables type inference for local variables in Java 10. Understand limits like no class level use, no array initializers with var, and no parameters.
Learn how the Java 10 garbage collector interface simplifies adding or removing garbage collectors and improves garbage collection performance within the JVM's memory management.
Discover Java 10 updates: object heap allocation to user-specified memory with DRAM, six-month releases, and default root certificates enabling TLS for OpenJDK builds.
Learn how inheritance enables a child class to reuse fields and methods from a parent class through extends, creating an is-a relationship in examples like polygon, triangle, and rectangle.
Explore method overriding in inheritance by comparing it with overloading, using Animal, Dog, and Cat examples where Dog and Cat override the parent method to print their identity.
Explore polymorphism in Java by showing how an object can take multiple forms, such as animal, dog, and cat, via a single reference and overriding methods.
Explore the super keyword to access methods and fields from a superclass, illustrate method overriding, and call parent class code from subclass using super.doThis and super.num1.
explains how the super keyword calls the parent constructor when a subclass is created, showing how to pass arguments, handle no-argument constructors, and ensure proper initialization.
Explore protected access in Java, compare it with public, default, and private, and see how inheritance and package scope affect visibility of fields like make and model.
Explore abstraction as the fourth pillar of object-oriented programming in Java, learning how to hide implementation details using abstract classes and abstract methods, and using interfaces as an alternative.
unlock how java interfaces define abstract methods, how classes implement them, how interfaces extend others for multiple inheritance, and that interfaces cannot be instantiated, including static and default methods.
Learn how the final keyword makes fields constants, prevents method overriding, and forbids inheritance for classes in Java, with examples of final fields, methods, and classes.
Master arrays in Java by learning how to declare and populate arrays of strings, integers, and characters, access elements via 0-based indices, update values, and iterate with for loops.
Declare a fixed length integer array and learn that uninitialized elements default to zero, then update specific positions; also create fixed length string and character arrays.
Explore the enhanced for loop (for-each) in Java to iterate over arrays and collections like array lists and linked lists, with a practical example generating a multiplication table.
Learn to reverse an array by swapping start and end elements with a for loop from index 0 to mid, using a temp variable; a common interview question.
Explore how a 2-dimensional array in Java is an array of arrays with rows of varying lengths. Learn to declare, access, update, and iterate its elements using nested for loops.
Create a 2-D array to hold the multiplication tables from 2 to 6, fill with i*j using nested loops, and print each table on its own line.
Explore how a Java array of objects holds heterogeneous data types, including strings, numbers, and chars, and extend to two-dimensional arrays for tabular data, with iteration and printing for testing.
Explore ArrayList in Java, a dynamic array that implements the List interface, and master its core operations: add, get, set, remove, clear, contains, sub list, size, toArray, isEmpty, and iteration.
Explore the structure of doubly linked lists, where each element contains previous, next, and data, connected through pointers from head to tail, not stored contiguously.
Explore linked list basics in Java: a LinkedList implements the List interface, links elements with pointers, and offers add, get, set, remove, clear, contains, indexOf, lastIndexOf, and peek/poll methods.
Compare ArrayList and LinkedList by their internal structures—dynamic array versus doubly linked list—and note faster access in ArrayList and quicker insertions and deletions in LinkedList.
Learn to use a ListIterator to traverse a list forward or backward and modify elements, such as removing nulls, replacing nulls with 0, and converting odd numbers to even.
Explore how hash sets in Java prevent duplicates and do not guarantee insertion order or positional access. Learn union, intersection, and converting a set to a list.
Learn how the linked hash set, an ordered version of the hash set, preserves insertion order, disallows duplicates, supports add, remove, clear, contains, size, and can convert to a list.
Explore how TreeSet offers a sorted ascending collection unlike HashSet, with add, remove, clear, contains, and easy conversion to list.
Iterate over sets using a modified for loop or an iterator, compare hash set’s lack of order with tree set’s ascending sorting.
Learn how Java hash maps store key-value pairs, add via put, retrieve with get, check keys with containsKey, and extract keySet, values, and entries.
Explore how a tree map uses a red-black tree to sort entries by ascending keys and apply common methods like put, get, contains value, and replace, plus poll first/last entries.
Learn to iterate over maps in Java by converting a map to an entry set and using a for-each loop or an iterator, with a tree map example.
Explore regular expressions in Java, learning to define patterns to extract digits, remove non-digits, and use meta characters and quantifiers to build flexible regex patterns.
Explore quantifiers in regular expressions, including asterisk, plus, and question mark, and learn how curly brackets set exact, minimum, or maximum repetitions with grouping and the matches method.
Explore character classes in regular expressions, including digits, word characters, whitespace, their opposites, with examples like phone numbers and area codes, learning escaping with double backslashes and 2-9 quantifiers.
Explore bracket expressions in RegEx, using square brackets to match one of multiple characters, including ranges, the not sign, and literals, and quantifiers allow repetition.
Demonstrate how the or operator uses the pipe symbol to specify one option from a group. Explore patterns like ab, ac, ad, xyz, or 123, and why acd is invalid.
Explore how the dot operator matches any single character, how dot plus asterisk forms greedy matches, and the basics of greedy versus non-greedy quantifiers.
Master greedy and lazy (non-greedy) matching in Java regex using quantifiers like *, +, and {min,max}, and learn to capture text between x and y with Pattern and Matcher.
Create a regular expression to match four example websites using a group and the pipe for alternation, with escapes to treat dots as literals.
Learn to regularize and extract prices with a regex pattern matching a dollar amount with decimals, using pattern and matcher to print all matches like 24.99 and 0.00.
Master regex to regularize number ranges with digit blocks, optional digits, and the or operator. Build patterns for 0 to 99, 0 to 1000.
Hi Friends, this course is specially designed for students who do not have prior coding experience. Course covers all the Core Java Concepts from basic to advanced levels along with practical examples and coding exercises.
This course covers Core Java topics in detail from basic to advanced levels. I believe in example-oriented teaching. So, you won’t find any PPTs during the sessions. But, you will find dozens of real time scenarios used to elaborate Java basic and advanced concepts.
Feel free to post your questions/feedback in the block provided under each session-video. I will make sure that all of your queries are addressed. ‘Course Outline’ below will give you a good idea about the depth and the overall coverage of this course. If you want to learn any other Core Java concept - which is not already covered in this course - then feel free to let me know via Udemy messenger.
Course Outline:
Java Basics
JDK 10 and Eclipse Installation
Hello World Java Program
Primitive Data Types in Java
'var' keyword in Java 10
Arithmetic Operators in Java
Logical and Bitwise Operators in Java
Relational Operators in Java
If - Condition in Java
Nested If - Condition in Java
For Loop in Java
Hands-On Exercises on 'For Loop'
Nested For Loop in Java
Hands-On Exercises on 'Nested For Loop'
'While' & 'Do While' Loop in Java
Loop 'Break' & 'Continue' Statements in Java
String Basics in Java
String Comparison Operations in Java
String Search Operations in Java
String (Cut) Slice Operations in Java
String Replace Operations in Java
String Conversion Operations in Java
Object Oriented Programing (OOPS) in Java
Concept of Classes and Objects in Java
Hands on exercises on Class and Object
Methods in Java
Method Overloading in Java
Access Specifiers (Access Modifiers) in Java
Constructor in Java
Data Encapsulation in Java
Static Keyword in Java
Concept of Main Method in Java
Class and Object Advanced Exercises
Class Inheritance in Java
Method Overriding in Java
Polymorphism in Java
Super Keyword in Java
Super Class Constructor in Java
Protected Access in Java
Abstraction in Java
Interfaces in Java (Java Interface)
Final Keyword in Java
Data Structures in Java
Arrays in Java
Array Object in Java
Enhanced (Modified) For Loop for Array Iteration in Java
Hands-on Exercises on Array in Java
2-Dimensional Arrays in Java
Hands-on Exercise on 2D Arrays in Java
Array of Object in Java
Array List in Java (ArrayList)
Structure of ArrayList in Java
Linked List in Java (LinkedList)
ArrayList vs LinkedList in Java
List Iterator in Java
Hash Set in Java
Linked Hash Set in Java
Tree Set in Java
Iterating on Set in Java
Hash Map in Java
Tree Map in Java
Iterating Over Maps in Java
Regular Expressions in Java
Introduction to RegEx in Java
Quantifiers in Regular Expressions
Character Classes in Regular Expressions
Bracket Expressions
OR Operator in RegEX
DOT Operator in RegEX
Greedy and Lazy Matching
Hands-on Exercises on Regular Expressions
Regularizing Number Ranges
Exception Handling in Java
What is an Exception in Java?
Error vs Exception in Java
Checked and Unchecked Exceptions in Java
Throws Declaration in Java
Try and Catch Block (Exception Handling) in Java
'Finally' Block in Java
Date and Time Operations (Revised in Java 8)
Local Date and Time Operations in Java
Custom Date and Time Operations in Java
Future and Past Date Operations in Java
Future and Past Time Operations in Java
Date Difference Calculation in Java
Time Difference Calculation in Java
DateTime Formatter in Java
Special Classes in Java
Math Class in Java
StringBuilder Class in Java
StringBuilder Methods in Java
Scanner Class in Java
Random Class (for creating random numbers) in Java
UUID Class in Java (for creating universally unique string IDs)
Working with File System in Java
How to Read a Text File in Java?
Apache Commons IO
How to Edit a Text File in Java?
Hands on Exercises with Text Files in Java
Copy and Move (Rename) a Text File in Java
Apache POI Setup
Reading Excel Data in Java
Read Excel Data into a 2 D Array in Java
Write Data in Excel Sheet in Java
Interview Questions
**I will be updating more topics to this outline as per changing trends in technology**
To get the maximum benefit from the course, please take a look at following steps explaining 'How to take this course?'
Step 1: Schedule 30-45 minutes of your time daily for 5 days a week. 'Continuity' is the key.
Step 2: All sessions are divided in small videos of less than 20 minutes. Watch 2-3 videos daily.
Step 3: Hands-on exercise is very important. So, immediately try out the programs discussed in the session, on your own. You can download these programs from lecture resources.
Step 4: Assignments with answer keys are provided where-ever necessary. Complete the assignments before jumping on to the next sessions.
Step 5: If you come across any questions or issues, please feel free to contact me and I will make sure that your queries are resolved.
Wish you all a very happy learning.
Note: For the best video streaming quality, please adjust the resolution from 'settings' at bottom right-hand corner of video player. Choose 1080p or 720p as per your network speed.