
Install the JDK and JRE on Windows, verify with javac -version and java -version, and configure PATH to run Java commands.
install the JDK and JRE on macOS to develop and run Java applications, highlighting the write once, run anywhere Java architecture. Verify the setup with terminal commands.
Write your first Java program on Windows using Notepad, exploring the basic syntax with a car analogy and skeleton. Compile and run, import java.lang, and print hello world with system.out.print.
Learn to compile a java file with javac and run the resulting class on Windows using the command prompt, understand common errors, and know that java.lang is automatically imported.
Install the eclipse ide on Windows, verify jdk via javac and Java, download the eclipse installer, configure the jdk path, and launch eclipse to code your first Java program.
Install the Eclipse IDE for Java developers on macOS, verify the JDK with javac-version and java-version, download the Eclipse installer, and launch Eclipse using the default workspace.
Discover why Eclipse, with its workspace, stores all Java projects in one folder, makes switching workspaces easy, and lets you quickly reopen previous programs from the Package Explorer.
Create a new Java project in Eclipse, configure the JRE settings, and write a hello world program in a basic package, then compile and run to see the console output.
Explore how Java data types define the shape of a variable and literals fill it. Know eight primitive types: byte, short, int, long, float, double, char, boolean, and four categories.
Explore the Java char data type by storing letters, numbers (as characters), and symbols, and printing them with System.out.println. Learn Unicode escape sequences, emojis, and ASCII/Unicode relationships.
Learn to use Unicode escape sequences in Java to print your name in Marathi, display emojis and flags, and explore char data types in an Eclipse-based example.
Explore how the boolean data type represents true or false in Java, including its light-switch analogy, declaration syntax, and printing true or false outputs.
Explore the boolean datatype in java using isEven to hold true or false, print statements like '20 is an even number', and apply the negation operator to invert values.
Learn how implicit typecasting in Java automatically converts a smaller datatype to a larger one, with examples like int to float, and char to int via ASCII values.
Discover how to use comments in Java to explain code and temporarily disable lines, covering single-line, multi-line, and documentation comments and their role with javadoc.
Explore Java if-else by comparing two numbers, starting with hardcoded values and then using a scanner to read input and determine whether one is less than the other.
Enhance a Java calculator app by using the or operator in if-else-if conditions to support multiple symbols for add, subtract, multiply, and divide (a/A, s/S, m/M, d/D).
Explore how to pass integer values to a switch statement in Java by building a traffic light program that prints stop, go, or slow down based on input.
Learn the do-while loop in Java, which runs its block at least once before checking the condition, unlike a while loop, and uses do { ... } while (condition) syntax.
Explore the do-while loop by printing hello world 100 times with an incrementation operator, and test a decrementation version to see the do-while loop executes at least once.
Learn how a for loop differs from while and do-while, and how initialization, condition, and increment control a fixed number of repetitions.
Build a Java multiplication table program using a for loop that reads a number with a scanner and prints the table up to 10, showing expressions with equals.
Learn how the break keyword terminates loops and switches in Java. See a demo that prints numbers 1 to 10 but exits when i equals 6, producing 1 to 5.
Implement a simple order ID search using a while loop and the break keyword, prompting user input and handling found and not found outcomes within a 1–50 range.
Explore the continue keyword in Java, learn its difference from break, and see a practical demo that skips printing six in a while loop.
Use the continue keyword in a while loop to print consonants by skipping vowels A, E, I, O, U, based on ASCII values 65 to 90.
Print vowels using the continue keyword by testing for a, e, i, o, u inside a while loop from 65 to 90, converting numbers to letters in Java.
Declare an integer array with static initialization, print elements by index, and use a for loop with arr.length to print all values safely.
Explore dynamic initialization in Java by creating a char array of a chosen size, filling it with the letters of your name, and printing the result on a single line.
Learn dynamic initialization of a character array with scanner input, storing each name character via a for loop and arr.length, then printing the characters using s.next.charAt in Java.
Learn to calculate the sum, average, and product of array elements in Java using static initialization, arr.length, and a for loop. Explore defining the int array and printing the results.
Learn how Java methods are reusable blocks of code that take inputs, perform tasks, return outputs, and use syntax with a return type, name, parameters, and body.
Learn how to define and call a user defined method in a Java class, print messages, and resolve static versus instance method calls while exploring access modifiers.
Learn how to pass arguments to a showMessage method, declare corresponding parameters, and print string and integer values, including variables like name, num, and comp.
Learn to implement subtraction, multiplication, and division using void return type by copying and modifying the addition method, then calling each in main to print the results.
Learn to handle division in Java by typecasting the float result to int. Implement a void calculator with four methods and a division by zero check that returns.
Learn how method overloading lets you define multiple methods with the same name in one class by varying number, type, and order of parameters, enabling clean code and compile-time polymorphism.
Explore method overloading in Java by implementing an AreaCalculatorOverload class with multiple area methods for square, rectangle, and circle, using different parameters to resolve calls at compile time.
Create and call a circle area method in Java using double return type, radius parameter, and pi as 3.14, then compute and print the result (176.625) from main.
Explore how object-oriented programming models real-world entities with classes and objects, using fields and methods, and learn the four pillars of oops: encapsulation, inheritance, polymorphism, and abstraction.
Explore object-oriented programming in Java by building a banking app that creates a Customer with username and account number and a JavaBank class to access and print them.
Make the Customer class fields private and access them via getter and setter methods, demonstrating encapsulation in a Java Bank example with username and accountNumber.
Exercise demonstrates setting a customer's username and account number with setter methods and retrieving them with getter methods, printing John Doe and the number 2 for a second customer.
Add validations inside setter methods to ensure only valid data is stored, such as restricting username length to less than 20 characters and requiring positive account numbers.
Add private double balance and private string address to the customer class, generate getters and setters in eclipse, then store with setBalance/setAddress and retrieve with getBalance/getAddress.
Explore how constructors initialize object fields at creation, covering default, non-parameterized, and parameterized constructors, plus constructor overloading for flexible object instantiation in Java.
Learn to create non-parameterized and parameterized constructors, explore constructor overloading, and see how default constructors are replaced by custom ones using a car example with default and custom values.
Use a non-parameterized constructor to assign defaults. Set username and address to not defined, account number to minus one, and balance to minus 1.0 when values are missing.
Replace repetitive print statements by introducing a displayCustomerDetails method that accepts a customer object, enabling cleaner output and centralizes printing within a static context.
Implement withdrawAmount in the Customer class to withdraw when amount is less than balance, update the balance, and print the withdrawal and remaining balance; show insufficient balance otherwise.
Static variables in Java belong to the class and are shared by all objects, unlike instance variables which are unique to each object, as shown by a housing analogy.
Declare a static integer in the customer class to count total customers, access it via the class name, increment in the parameterized constructor, and expose it with a static getter.
Discover how a child class inherits features from a parent class, enabling code reusability, better organization, and maintainability. Explore single, multi-level, and hierarchical inheritance in Java using the extends keyword.
Explore how the super keyword in Java enables a child class to access the parent class’s constructors, fields, and methods, enabling inheritance and polymorphism.
Demonstrates using the super keyword to call the parent constructor from a child class with non-parameterized constructors, and explains constructor chaining across multi-level inheritance.
Learn how to use the super keyword with parameterized constructors to enable constructor chaining between a parent phone class and the Android phone class.
Explore polymorphism by overriding a parent method in the Android phone subclass and calling the overridden turn on method through a child class object, illustrating inheritance and method overriding.
Explore Java abstraction by implementing an abstract employee class with abstract methods calculate salary and perks, extend it with full-time and part-time employees to compute salaries and perks.
learn how to use the super keyword to call parent class constructors and methods from a child class, and how to resolve naming conflicts in a polymorphism example.
Ready to build a strong foundation in Java programming?
This course is designed to take you from absolute beginner to a confident Java programmer through hands-on coding, real-world examples, quizzes, coding exercises, and assignments. Whether you're a college student, an aspiring software developer, or a working professional, this course will help you master Core Java the right way.
Unlike courses that focus only on theory, every concept in this course is explained with practical examples and live coding demonstrations, helping you understand not only how Java works but also why it works that way.
Why Learn Java?
Java is one of the world's most popular and widely used programming languages. It powers enterprise applications, banking systems, Android applications, cloud platforms, backend services, and millions of business applications across the globe.
Learning Java provides a strong programming foundation and opens doors to careers in software development, backend engineering, Android development, Spring Boot development, and many other technologies.
What Makes This Course Different?
Learn by Building – Every concept is demonstrated through practical coding examples.
Beginner Friendly – No prior programming experience is required.
Step-by-Step Explanations – Complex topics are broken down into simple, easy-to-understand lessons.
Real World Examples: Every programming concept is first explained with a real world example, and then we jump into programming,
Hands-On Practice – Reinforce every concept through coding exercises and quizzes.
Industry Best Practices – Learn clean coding techniques and programming standards used by professional developers.
What You'll Learn
Java Fundamentals: Understand how Java works, install the JDK, write your first program, and become familiar with the Java ecosystem.
Variables & Data Types: Learn how data is stored, manipulated, and used effectively in Java applications.
Control Statements: Write intelligent programs using if-else statements, switch statements, loops, break, and continue.
Arrays: Store and process multiple values efficiently using one-dimensional and multidimensional arrays.
Methods: Create reusable code using methods, parameters, return values, and method overloading.
Object-Oriented Programming (OOP): Learn Classes, Objects, Constructors, Encapsulation, Inheritance, Polymorphism, Abstraction, and Interfaces through practical examples.
Exception Handling: Write robust applications by handling runtime errors using try-catch, throws, throw, custom exceptions, and try-with-resources.
File Handling: Read and write files using Java I/O while understanding streams, readers, writers, and serialization concepts.
Multithreading: Build responsive applications using threads, synchronization, thread communication, executors, and concurrent programming concepts.
Collections Framework: Master ArrayList, LinkedList, HashSet, TreeSet, HashMap, PriorityQueue, and other commonly used collections.
Lambda Expressions & Stream API: Write concise modern Java code using functional programming concepts and powerful Stream operations.
JDBC & MySQL: Connect Java applications to relational databases and perform CRUD operations using JDBC.
By the end of this course, you'll be able to write clean, efficient Java programs and understand industry-standard coding practices. Enroll today and start your journey to becoming a confident Java developer!