Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Core Java Programming for Complete Beginners to Pro [2025]
Highest Rated
Rating: 5.0 out of 5(11 ratings)
132 students

Core Java Programming for Complete Beginners to Pro [2025]

Core Java Programming for Beginners. Core Java Tutorial, Learn Java Programming, Core Java Training. Become Job Ready!
Last updated 11/2025
English
English [Auto],

What you'll learn

  • Fundamentals of programming, object-oriented concepts, and practical skills like building applications, debugging, and using various Java frameworks and library
  • Learn the basic grammar, including data types, variables, operators, and control flow structures (if/else, loops).
  • Understand core OOP concepts like classes, objects, inheritance, polymorphism, and encapsulation.
  • Explore common data structures (arrays, linked lists, trees) and algorithms implemented in Java.
  • Building Projects: Apply your knowledge by developing simple applications or projects to solidify your understanding.
  • Using Java Development Environments (IDEs): Become proficient with popular IDEs like IntelliJ IDEA, Eclipse, or NetBeans.

Course content

1 section111 lectures22h 33m total length
  • JDK, JRE, JVM, JVM Architecture, Path Setting, Class Path Setting26:15

    1. JDK (Java Development Kit)

    • What it is: A software development environment used to develop Java applications.

    • Includes:

      • JRE (Java Runtime Environment)

      • Compiler (javac)

      • Debugger

      • Tools for development (e.g., javadoc, javap)

    • Use: Needed for developing, compiling, and running Java programs.

    2. JRE (Java Runtime Environment)

    • What it is: A part of the JDK used to run Java programs.

    • Includes:

      • JVM

      • Core libraries and other files required for execution

    • Use: Needed only to run Java programs, not to develop them.

    3. JVM (Java Virtual Machine)

    • What it is: An abstract machine that executes Java bytecode.

    • Platform-independent: JVMs are available for many hardware and software platforms.

    • Use: Converts bytecode (.class files) into machine code for execution on the host system.

    4. JVM Architecture

    The JVM consists of several components:

    • Class Loader: Loads .class files (bytecode) into memory.

    • Method Area: Stores class structures like metadata, method info, and constant pool.

    • Heap: Stores objects and class instances.

    • Stack: Stores method calls and local variables (one stack per thread).

    • Program Counter (PC) Register: Holds the address of the current executing instruction.

    • Execution Engine:

      • Interpreter: Interprets bytecode line by line.

      • JIT Compiler (Just-In-Time): Converts bytecode into native code for better performance.

    • Native Method Interface: Enables Java code to interact with native libraries (e.g., C/C++).

    • Native Method Libraries: Platform-specific libraries.

    5. Path Setting

    • Purpose: To run Java commands (java, javac, etc.) from any directory in the command line.

    • How to Set (Windows):

      • Find the JDK bin folder path (e.g., C:\Program Files\Java\jdk-XX\bin)

      • Add it to the system PATH environment variable:

        • Right-click This PC > Properties > Advanced system settings > Environment Variables

        • Under System Variables, find Path, click Edit, and add the JDK bin path.

    6. Class path Setting

    • Purpose: To tell the JVM and compiler where to find user-defined classes and packages.

  • Keywords, Identifiers, literals & datatypes26:34

    Explore Java basics by mastering keywords, identifiers, literals, and primitive data types. Learn how access specifiers, modifiers, defaults, and naming rules shape Java programs.

  • Questions of Java9:00

    Explore key Java fundamentals by answering common questions on exe vs class files, function versus method, Java bytecode, parameters and arguments, comments, Git, and Unicode.

  • Getting Started with Java Create your First Program for Beginners48:08
  • How to write program in java39:14

    learn why the Java main method is public and static, how the JVM invokes it, and how command line arguments are passed as a string array args.

  • What is object Reference. How to create Object in Java, types of Object, Calling25:50

    Create objects in Java with the new keyword and constructors, and distinguish referenced from unreferenced objects while noting object state, behavior, and identity under JVM memory management.

  • Call by Reference11:39

    this lecture shows that object references hold the base address, not the data, and demonstrates how passing a reference enables in-place data modification, unlike call by value.

  • Call by Value7:29
  • Local Variable10:56

    Explore local variables in Java, declared inside a method or constructor, with lifetime limited to scope. They must be initialized before use and are declared with default access specifier.

  • Memory Management in Java & Instance Variable31:30

    Learn how the JVM allocates memory across the stack, heap, method area, native method area, and the PC register, and how instance variables are allocated and initialized in objects.

  • Instance Variable Program6:59

    Learn how instance variables work in Java through a demo class, illustrating private data, default values, and access modifiers across objects.

  • Static Variable theory28:46
  • static variable program8:08

    Explore how static variables are initialized by the class loader at class loading time, ahead of main, and how static data is shared across instances, demonstrated with example outputs.

  • Difference Between static Variable and Instance Variable2:44
  • Final variable & Constant22:15

    Explore final variables in Java, including how instance and static variables require initialization, auto initialization by the JVM or class loader, and how public static final constants are declared.

  • Static block & non-static block27:06

    Discover how Java blocks work: static blocks run once at class loading time before main, while non-static blocks run for each object before the constructor, showing their execution order.

  • static and non-static block program11:41

    Explore static and non-static blocks in Java, showing class loading initializes static data, then sequential blocks execute; observe non-static blocks before constructors and object data updates.

  • Wrapper Class part-138:17

    this lecture explains wrapper classes in java and how they convert between strings and primitives using parse methods and toString for boolean, byte, short, int, long, float, double, and character.

  • Wrapper class Part-229:14

    Explore wrapper classes in Java, including boolean, byte, short, char, int, float, long, and double, and learn autoboxing and unboxing with practical constructor examples and string conversions.

  • wrapper class program10:00

    Explore wrapper classes in Java by converting primitive types to strings and vice versa. Practice autoboxing and unboxing, and use parse and toString methods in hands-on demos.

  • Command line argument16:51

    Show how command line arguments in Java are passed to main as a String[] named args, with size equal to inputs (zero if none), illustrated by an Armstrong number example.

  • Commandline argument program8:43

    Learn to read a command line argument in java, convert it from string to int, and determine if the input is an Armstrong number using a digit cube sum loop.

  • Scanner class Theory20:00

    Use Scanner class to take input from standard input in Java, including creating the Scanner with System.in, importing java.util.Scanner, and reading data with nextLine and nextInt/nextDouble.

  • Scanner Class Program8:18

    Use the Scanner class to read a number from the keyboard and compute the sum of its digits with a modulo ten loop, then print the result.

  • Data Input Stream13:26

    Learn to take keyboard input using the data input stream class from java.io, constructing with system.in, reading lines with readLine, handling IO exception, and parsing to int or double.

  • Data Input Stream Class Program9:01

    Learn how to use the data input stream class from java.io to read keyboard input, convert it to integers with parseInt, and implement a prime number checker.

  • Intro21:20
  • Loop39:28

    Learn the fundamentals of for, while, and do-while loops in Java with practical examples, including printing numbers, identifying even and odd numbers, and using break and continue in nested loops.

  • Loop 111:57
  • Loop 20:39
  • Loop 38:25

    Demonstrate building a parity checker that prints even and odd numbers in a range using a while loop with input via scanner, and compare with for and do while loops.

  • Loop47:51

    Explore Java loops by implementing the same program with for, while, and do-while loops, using scanner input to determine and print whether numbers are even or odd.

  • Loop 56:40

    Explore loops in Java by building a simple program that uses a while true loop, tests a break condition, and prints incremental values to show break behavior.

  • 6)Loop9:49

    Explore loop concepts in Java using a practical example, including do-while and while loops, increment operators, break, and conditions to control program flow.

  • Loop 77:00
  • Loop 88:27

    Demonstrates configuring for and while loops as outer and nested loops in Java, with a do-while inner loop. Produces 00012, illustrating execution flow and interview-ready loop patterns.

  • Loop 97:53
  • Loop 1010:07

    Explain the use of the continue statement in a labeled outer loop S1 within a nested for loop, showing how it skips iterations and prints values for i and j.

  • Loop 119:11
  • Loop 125:54
  • Loop 137:17
  • Swap with third variable9:41

    Demonstrates swapping two numbers using a third variable in java, by taking keyboard input with a scanner and showing values before and after the swap.

  • Swap without third variable9:58
  • find out biggest number10:49
  • factorial of a number8:24
  • Fibonacci series11:38
  • Table7:14
  • Triangle 114:08
  • Triangle 211:31

    Learn to print number triangle patterns in Java with nested loops and user input, demonstrating outer and inner loops that form sequences like 112123123412345 and 332 with line breaks.

  • Triangle 37:30

    Learn to design a triangle pattern in Java using nested loops and a scanner to input the number of rows, printing stars or numbers per row.

  • unary operator theory7:22

    Explore unary operators in Java for beginners, including seven types — unary plus, unary minus, increment, decrement, typecasting, bitwise inversion, and boolean complement — with practical examples.

  • Unary operator Program20:20

    Explore practical Java unary operators, including unary plus, unary minus, and pre/post increment and decrement, plus typecasting, auto conversion, and bitwise inversion and boolean complement operators, with hands-on code examples.

  • Binary Operator Part-111:39
  • Binary operator part-214:39

    Explore bitwise operators in core java with examples of and, or, and xor on 8-bit words, plus short-circuit logical operators and the unary, binary, and ternary forms.

  • binary operator & ternary operator program20:16

    Learn how binary and ternary operators work in Java, including arithmetic and assignment nuances, short-circuit evaluation, and how type casting and operator differences resolve incompatible types.

  • if-else, switch case19:32

    Explore basic conditionals in Java, including if-else, boolean handling, and switch cases, with practical examples and differences from C, and modern string switch support.

  • if-else, switch case program21:34
  • 0014:49

    Explain why the Java main method is static, as a class method called by the JVM by class name with no object, and that non-static main leads to runtime termination.

  • 0022:54

    Learn how the public static void main(String[] args) serves as the Java program entry point, invoked by the class name without creating an instance, with final and other modifiers' effects.

  • 0032:03

    Learn that you can overload the main method in Java. The Java virtual machine calls only the main with a string array parameter.

  • 0043:28

    Declare constants in Java with public static final, not const, and ensure they are initialized. Java has no global variables; use static class variables accessed by class name.

  • 0054:32

    Understand how command line arguments let a Java program receive input at runtime by the JVM creating a string array and passing it as the main method's args parameter.

  • 0064:14

    Explore autoboxing and unboxing in Java, driven by wrapper classes for the eight primitive types introduced in JDK 1.5. See how primitives convert to wrapper objects and back through unboxing.

  • 0073:23

    This lecture explains converting a string to int and back using the Integer wrapper class, showing two static methods for converting from string to int and from int to string.

  • 0081:36

    Explore Java comments and their types, including single-line, multi-line, and document comments, and learn how the compiler skips them and how they explain variables, methods, and classes.

  • 0091:26

    Define a class as a blueprint for creating objects and its attributes, fields, methods, and a constructor. Recognize that Java is an object oriented language with predefined classes in java.lang.

  • 0102:06

    define an object as the instance of a class, carrying state, behavior, and identity. recognize that in java, object is the base class for every class.

  • 0113:51

    Explore inheritance as a core object‑oriented concept, where a child class reuses the base class's properties and behavior, forming a maintainable hierarchy through extends and implements.

  • 0124:17

    Explains polymorphism as multiple forms of an object in Java, covering compile time polymorphism (method overloading) and runtime polymorphism (method overriding) with early and dynamic binding.

  • 0132:42

    Explore encapsulation as wrapping data and the methods that operate on it into a single unit to hide internal details and protect data from unauthorized access.

  • 0143:05
  • 0155:26

    Explore typecasting of object references in Java with inheritance, showing that a base class reference can point to a child object and require casting to access child members.

  • 0163:03
  • 0172:14
  • 0183:30

    Discover how the super keyword acts as a non-static reference to base members in inheritance. Use it to differentiate base and child variables, call base constructors, and invoke overridden methods.

  • 0193:44

    Master method overriding in inheritance by redefining base method in a child with the same name, return type, and parameters, while noting static, private, and final methods cannot be overridden.

  • 0202:34

    Explain how a Java abstract class is declared with the abstract keyword and cannot be instantiated; it may contain abstract and non-abstract methods, with abstract methods overridden by child classes.

  • 0214:56

    Explore Java interfaces: the interface keyword, implicit abstract nature, and constants as public static final, with methods that are public abstract and interface offers static, default, and private variants.

  • 0222:35

    Explain marker interfaces in Java as blank interfaces with no methods or variables, and illustrate how Cloneable in java.lang signals object cloning.

  • 0232:55
  • 0245:16
  • 0252:11

    Differentiate abstract class and interface by noting that abstract class cannot support multiple inheritance. Interface supports multiple inheritance and defines only abstract, default, private, or static methods with constants.

  • Triangle112:31
  • Triangle211:27

    Learn to print a triangle pattern in Java using nested loops and Scanner input, showing sequences from the current row to the total rows.

  • Triangle 38:45
  • Triangle 412:11
  • Swap two numbers through third variable6:25
  • Swap two numbers without third variable6:21
  • Table5:46

    Design a multiplication table in Java by reading a number with a Scanner and printing results from 1 to 10 using System.out and a for loop.

  • Find out factorial of a number6:32
  • Fibonacci Series11:19

    Learn to generate the Fibonacci series up to a user defined range using Java, starting from 0 and 1, printing each value via a for loop and a temp swap.

  • Tribonacci Series7:11
  • sum of digit10:21
  • Reverse a number7:01
  • Number palindrome5:35

    Write a Java program to check whether a number is a palindrome by reversing digits with a scanner input and comparing it to the original.

  • Armstrong number7:00
  • Prime number6:31

    Enter a number and determine if it is prime in Java by counting divisors from 1 to n using the Scanner, and print whether it is a prime or not.

  • Array Part 1 theory33:43

    Explore how Java arrays are data structures that hold primitive types or object references in zero-based indices, and learn declaration, construction, initialization, length, and array index out of bounds exception.

  • Array Part 1 practical8:24

    learn to read input from the keyboard using scanner, declare and initialize arrays with default values, print elements, and sort them in ascending order with Arrays.sort from java.util.

  • Array part 237:04

    Explore java array concepts, including array of object references and two dimensional arrays, with memory layout, default null references, and initialization for string and user defined classes.

  • Array part 2 Lab16:30

    Explore array of object reference and two dimensional array in Java, including memory management, constructing EMP objects, and reading input with Scanner to populate and print array elements.

  • biggest and smallest14:50

    Learn to enter array elements from the keyboard, initialize the array, and determine the biggest and smallest values using a for loop and conditional checks.

  • Second Largest Number10:34

    Learn to find the second largest number in an array using Java by taking keyboard input with Scanner, initializing, and updating largest and second largest values with a for-each loop.

  • Reverse13:42

    Discover how to reverse a Java array by swapping symmetric elements in place, after reading the size from keyboard, initializing elements, and printing the reversed array.

  • Sumofpair13:10

    Enter array elements from the keyboard and find all pairs that sum to a given value using a static findPair method and nested loops.

  • Remove duplicate element19:31

    Sort the array with the Arrays class, then remove duplicates from the sorted array by using a static remove method and Arrays.copyOf to resize the result.

  • Bubble sort23:56

    Learn bubble sort by illustrating how the largest element moves to the end, using nested loops and swapping in a Java example, with arrays printed before and after sorting.

  • Selection sort24:26

    Discover how selection sort arranges an array in ascending order by repeatedly placing the smallest element at the front, with a hands-on Java example.

  • Insertion sort26:57
  • Linear search.mov12:22

    Explore linear searching, implement a Java linear search to find an element in an array, return its index or -1 when not found, and understand input handling and array traversal.

  • Binary search23:58

    Learn binary search in Java by sorting an array and implementing a static binary search method that returns the index of a target or -1, using command line input.

Requirements

  • To effectively learn Java, you don't need extensive prior knowledge, but having basic computer skills and understanding of general programming concepts can be helpful. Familiarity with object-oriented programming (OOP) principles and a command-line shell can also be beneficial.

Description

Course Title: Core Java Programming for Beginners 2025

Instructor: Rashmi Kanta Das , 25+ Years of Industry Experience

Course Overview:

Welcome to Mastering Core Java – a complete guide designed for both beginners and professionals seeking to build a strong foundation in Java programming. This course, led by Rashmi Kanta Das, a highly experienced software engineer with over 25 years of hands-on industry experience, will equip you with all the essential knowledge and skills to become proficient in Core Java.

Whether you're looking to start a career as a Java developer or enhance your existing skills, this course offers an in-depth, practical, and engaging learning experience.

What You’ll Learn:

Introduction to Java:
Understand what Java is, how it works, and why it remains one of the most popular programming languages in the world. Explore Java’s architecture, key features, and the Java Virtual Machine (JVM).

Java Basics:
Learn the fundamental building blocks of Java, including variables, data types, operators, loops, and control flow. Gain proficiency in writing basic Java programs.

Object-Oriented Programming (OOP) in Java:
Dive deep into the principles of OOP, including classes, objects, inheritance, polymorphism, encapsulation, and abstraction. Learn how to structure your programs effectively and write scalable, maintainable code.

Exception Handling:
Master the art of handling errors gracefully in Java using try-catch blocks, custom exceptions, and exception propagation. Learn to write robust applications that handle runtime errors efficiently.

Java Collections Framework:
Get hands-on experience with core data structures like Lists, Sets, Maps, and Queues. Discover the power and versatility of the Java Collections API and how to manage groups of objects in your programs.

Multithreading and Concurrency:
Understand the basics of multithreading, how to create and manage threads, and how to work with concurrency utilities. Explore synchronization, thread safety, and common issues in multi-threaded applications.

Java I/O (Input and Output):
Learn how to read and write files, work with streams, and manage file system operations in Java. Understand how to handle resources efficiently.

Java 8 Features:
Delve into the powerful features introduced in Java 8, such as lambda expressions, streams, and functional programming. These features simplify the way we write Java code and improve efficiency.

Java Best Practices and Code Optimization:
Learn industry-standard best practices for writing clean, maintainable, and high-performance Java code. Understand how to optimize for performance, memory management, and readability.

Unit Testing in Java:
Get introduced to unit testing using JUnit. Learn how to write test cases, run tests, and ensure your code is bug-free and reliable.

Course Features:

  • Hands-On Coding Exercises:
    Engage in practical coding exercises to reinforce your learning. By solving real-world problems, you’ll gain valuable hands-on experience.

  • Real-World Applications:
    Each module includes examples and projects based on industry-standard applications, showing how Java is used in real-world scenarios.

  • Experienced Instructor:
    Rashmi Kanta Das brings over 25 years of experience in software development and Java programming. His teaching approach simplifies complex concepts, ensuring an easy and effective learning process.

  • Lifetime Access:
    Enjoy lifetime access to course materials, including video lectures, coding examples, and downloadable resources—learn at your own pace and revisit any topic as needed.

  • Q&A Support:
    Access a dedicated Q&A forum where you can interact with the instructor and fellow students. Rashmi will be available to answer your questions and assist with any challenges.

  • Certificate of Completion:
    Receive a certificate upon successful completion of the course—perfect for showcasing your skills on your resume, LinkedIn, and other professional platforms.

Who This Course is For:

  • Beginners who want to learn Java from scratch and build a solid programming foundation.

  • Intermediate programmers looking to refresh and deepen their Core Java knowledge.

  • Professionals seeking to switch to Java or expand their current skill set.

  • Anyone interested in writing efficient, clean, and maintainable Java code.

Why Learn Core Java with Rashmi Kanta Das?

With over 25 years of professional experience in software development and a passion for teaching, Rashmi Kanta Das offers unmatched expertise and insight. He has worked with global organizations, contributed to large-scale enterprise applications, and mentored countless developers who have gone on to successful careers.

This course reflects his extensive experience and dedication to making Java learning practical, accessible, and enjoyable.

Enroll Today!

Begin your journey toward becoming a Java expert with Rashmi Kanta Das. Whether you're aiming to land your first programming job or advance your career, this course provides the skills, knowledge, and confidence to succeed.

Join thousands of students who have transformed their programming abilities and unlocked their full potential.

Who this course is for:

  • Web Developer, Mobile App Developer, User Experience Designer, Data Scientist, Game Designer, and Laboratory Scientist.