Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Java for Beginners
Rating: 4.6 out of 5(7,051 ratings)
54,544 students

Java for Beginners

Java fundamentals, OOP, Exceptions, Threads in Java with Telusko
Created byNavin Reddy
Last updated 10/2025
English

What you'll learn

  • Java Programming Language
  • Building Applications using Java
  • Core and Advance features of Java Language
  • Exceptions, Threads and Collection API

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

2 sections118 lectures14h 43m total length
  • Introduction4:56

    Kick off your journey into programming in Java to strengthen basics to learn Java backend development for real-world applications.

  • JDK setup8:19

    Learn how to install Java JDK, configure environment variables such as JAVA_HOME and PATH, and set up VS Code for Java development. The setup is verified with the java --version and javac --version commands to ensure everything works smoothly for coding in Java.

  • First code in Java11:16

    Learn how to use JShell, Java’s interactive REPL, to run your first print statements and experiment with quick code snippets. This hands-on session lets you see Java code execute instantly, making it easy to practice and explore programming concepts without setting up full projects.

  • How Java Works12:02

    Understand how Java code (.java) is compiled into bytecode (.class) by the JDK and executed on the JVM within the JRE. This session explains the concept of Write Once, Run Anywhere (WORA) and demonstrates running your program in VS Code to see how Java works behind the scenes.

  • Variables11:44

    Learn how Java variables store data by declaring them, assigning values with the = operator, and understanding Java’s statically typed, strongly typed nature. See how variable types are checked at compile time, ensuring predictable and reliable code execution.

  • Data types12:18

    Explore Java’s eight primitive data types—byte, short, int, long, float, double, char, and boolean. Learn the value ranges, storage sizes, and precision of each type, and understand how choosing the right data type impacts memory usage, performance, and accuracy in Java programs.

  • Variables & data types Coding Exercise
  • Literal4:21

    Understand Java literals—the constant values written directly in code, such as numbers, characters, strings, booleans, and null. Learn how literals like 100, "Hello," 'a,' or true are used in Java programs to define fixed values that power variables and control program logic.

  • Type Conversion12:32

    Learn how Java type conversion works through both implicit (widening) and explicit (narrowing/casting) conversions. See how Java automatically upgrades smaller data types to larger ones, and how you can manually cast values using (int) or other target types. This lecture demonstrates how type conversion ensures flexibility, precision, and safe handling of data in Java programs.

  • Quiz 1
  • Arithmetic Operators10:15

    Practice using Java arithmetic operators (+, -, *, /, %) along with increment (++x, x++) and decrement (--x, x--) operators. Through step-by-step examples, you’ll understand how values change before and after being used in expressions, building a clear foundation for Java calculations.

  • Relational Operators8:04

    Learn how to use Java relational operators (==, !=, >, <, >=, <=) to compare values and return boolean results. With practical examples, you’ll see how these operators drive decision-making in conditionals and loops, forming the basis of logical programming in Java.

  • Logical Operators11:16

    Learn how Java logical operators (&&, ||, !) work, including short-circuit evaluation that skips unnecessary checks for safer and more efficient code. Through examples of AND, OR, and NOT, you’ll see how these operators control program logic in conditionals and loops while avoiding redundant evaluations.

  • Mastering Java Operators: Arithmetic, Relational, and Logical in Action
  • if else12:58

    Master decision-making in Java using if, else-if, and else statements. This lecture demonstrates how programs branch into multiple paths based on conditions, such as checking whether a value is high, low, or equal, and printing different outputs accordingly.

  • If Else If5:38

    Learn how to control program flow in Java using if-else-if statements. This lecture shows how multiple conditions can be evaluated step by step, enabling your code to handle different scenarios and produce the right output for each case.

  • Ternary4:38

    Discover the Java ternary operator (?:), a compact one-line alternative to if-else statements. This lecture demonstrates how to use condition ? valueIfTrue : valueIfFalse to simplify decision-making, making your Java code cleaner, shorter, and easier to read.

  • Switch Statement7:58

    Learn how to use the Java switch statement to handle multiple conditions with case labels and an optional default. This lecture explains how the break keyword prevents fall-through and demonstrates writing clean, efficient multi-way logic through hands-on examples.

  • Java Conditionals: Evaluate Student Result with If-Else and Grading Logic
  • Need For Loop3:24

    Discover why loops in Java are essential for avoiding repetitive code and automating tasks. This lecture introduces the for loop, while loop, and do-while loop, explaining when to use each and how they simplify logic by running code repeatedly based on conditions.

  • While Loop12:27

    Master the while loop in Java, which executes code repeatedly as long as a condition is true. This lecture also covers nested while loops, useful for handling multi-level tasks like pattern printing or working with 2D data, reinforced with hands-on coding examples.

  • Do While Loop3:17

    Learn how the do-while loop in Java guarantees code execution at least once before checking the condition—ideal for tasks like menus or user input. This lecture also compares the do-while loop vs while loop, helping you understand when to use each for writing cleaner and more intuitive Java programs.

  • For Loop13:21

    Understand the for loop in Java by iterating through days numbered 1 to 7 and nesting another loop to simulate working hours from 9 AM to 6 PM. This practical example demonstrates how nested for loops handle structured, real-world tasks, making loop logic simple and clear.

  • Which Loop To Use1:42

    Learn how to choose the right loop in Java for any task: use a for loop for fixed iterations, a while loop when execution depends on a condition, and a do-while loop when the code must run at least once. This lecture shows how selecting the right loop improves clarity, efficiency, and maintainability in Java programs.

  • Quiz 2
  • Mastering Loops in Java: For, While, and Do-While in Action
  • Smart Console Calculator: Advanced Exercise: Build Your First Java Program That Thinks
  • Class And Object Theory5:47

    Explore the fundamentals of classes and objects in Java. Learn how a class works as a blueprint defining attributes and methods, while an object is a live instance created from that blueprint. This session builds a strong foundation in object-oriented programming (OOP) by showing how state and behavior come together in real-world Java applications.

  • Class and Object Practical15:35

    Practice classes and objects in Java by building a simple Calculator class and calling its methods through an object. This hands-on session shows how blueprints turn into working code, making object-oriented programming (OOP) easy to understand.

  • JDK JRE JVM5:21

    Learn the roles of JDK, JRE, and JVM in Java—from writing and compiling code to running and executing bytecode. This session explains how these three components work together to power Java’s “write once, run anywhere” capability.

  • Methods11:29

    Learn how to create and use methods in Java—define them, call them from main, pass parameters, and return values. This session demonstrates how methods improve code reusability, readability, and organization by breaking tasks into clear, reusable blocks.

  • Method Overloading6:02

    Explore method overloading in Java with a Calculator example, where the same method name handles different inputs. See how Java picks the right version automatically—giving your code more flexibility, readability, and power.

  • Stack And Heap12:36

    Understand Java memory management with stack and heap, explained through a simple Calculator example. Learn how method calls, local variables, and object references are stored in the stack, while objects themselves live in the heap—crucial knowledge for writing efficient Java programs.

  • Need of an Array3:50

    Discover how Java memory works with stack and heap, explained through simple real-world examples. This session gives you clarity on how Java stores objects, references, and method calls—knowledge every serious Java developer needs.

  • Creation of Array7:28

    Learn how to create arrays in Java—from declaration and memory allocation with new to quick setup using array literals. This session makes it easy to organize and manage multiple data elements efficiently.

  • Multi Dimensional Array13:07

    Understand multi-dimensional arrays in Java, from 2D grids to nested structures. This session shows how to declare, initialize, and access elements—making it easier to work with tables, matrices, and structured data.

  • jagged and 3D Array5:37

    Explore jagged arrays in Java, where each row can have a different length—ideal for non-uniform datasets. With practical examples, you’ll learn how to declare, initialize, and traverse jagged and 3D arrays, strengthening your skills in handling complex data structures.

  • Array of Objects8:51

    Learn how to work with an array of objects in Java, such as storing multiple Student instances with roll number, name, and marks. This session shows how to declare, initialize, and iterate over object arrays to manage data effectively.

  • Drawbacks of Array2:49

    Discover the limitations of arrays in Java, such as fixed size and costly insertions or deletions. At the same time, learn why arrays remain essential for programming—offering fast access, memory efficiency, and a foundation for core algorithms.

  • Enhanced for loop5:26

    Master the enhanced for loop in Java (for-each loop) to traverse arrays and collections with clean, index-free syntax. This session shows how it reduces boilerplate code, minimizes errors, and makes element processing simpler and more efficient.

  • Quiz 3
  • Working with Arrays in Java: From Basics to Enhanced For Loops
  • What is String7:23

    Learn the fundamentals of the String class in Java—how to create strings using literals or constructors, why strings are immutable, and how basic operations like concatenation and character access work. A clear introduction to one of Java’s most important data types.

  • Mutable vs Immutable string6:19

    Understand the difference between immutable Strings in Java and mutable alternatives like StringBuilder. Learn how the String Constant Pool optimizes memory by reusing literals and why Java uses immutability for efficiency while mutability allows flexible string manipulation.

  • StringBuffer and StringBuilder5:40

    Explore StringBuilder vs StringBuffer in Java—two mutable classes for efficient string manipulation. Learn how StringBuilder delivers high performance in single-threaded code, while StringBuffer provides thread safety with synchronized methods for multi-threaded scenarios.

  • Encapsulation11:41

    Understand encapsulation in Java, where data is hidden inside classes and accessed through methods. Learn how private fields with getters and setters protect data integrity, simplify maintenance, and make code cleaner and more flexible.

  • Getters and Setters2:54

    Learn how getters and setters in Java provide safe access to private fields. See how getters return values, setters update them with validation, and together they enforce encapsulation while giving you full control over how object data is managed.

  • this keyword9:44

    Discover how the "this" keyword in Java refers to the current object within methods and constructors. Learn how it resolves naming conflicts, calls other constructors, and improves code readability and maintainability.

  • Constructor7:04

    Learn about constructors in Java, special methods that initialize new objects with default or custom values. See how constructors match the class name, have no return type, can be overloaded, and why Java provides a default constructor for proper object setup.

  • default vs parameterized constructor5:02

    Understand the difference between default constructors in Java, which are auto-provided when none are defined, and parameterized constructors, which let you initialize objects with specific values. A key step in mastering object-oriented programming (OOP).

  • Static Variable7:05

    Learn about static variables in Java, class-level fields shared by all objects. See how a static field is initialized once when the class loads, holds a single shared copy, and is commonly used for constants or tracking values across multiple instances.

  • Static Method4:43

    Understand static methods in Java, which belong to the class rather than any object. Learn how to call them directly with the class name, when they’re ideal for utility tasks, and the limitations to keep in mind when designing reusable code.

  • Static Block7:17

    Learn how static blocks in Java work—special code sections that run automatically when a class loads. See how they initialize static variables or resources, like maps and configurations, before any object is created or the main() method executes.

  • Naming Convention4:25

    Master Java naming conventions—UpperCamelCase for classes, lowerCamelCase for methods and variables, and UPPER_SNAKE_CASE for constants. Following these standards makes your code professional, readable, and easy to maintain.

  • Anonymous Object4:47

    Learn how to use anonymous objects in Java—created and used without a variable name. See how they simplify one-time method calls and direct argument passing, making your code more concise and expressive.

  • What is Inheritance8:46

    Learn inheritance in Java, where a child class reuses fields and methods from a parent class using the extends keyword. This OOP principle enables code reuse, establishes “is-a” relationships, and forms the foundation for scalable, maintainable applications.

  • Need of Inheritance6:17

    Learn why inheritance in Java is essential for code reuse, hierarchy, and polymorphism. See how it keeps your code DRY, modular, and maintainable by letting classes share behavior while extending functionality.

  • Single and Multilevel inheritance3:50

    Learn how single inheritance in Java allows a subclass to extend one superclass, while multilevel inheritance creates deeper hierarchies (C → B → A). See how these models promote code reuse, clarity, and real-world object relationships.

  • Multiple Inheritance6:35

    Understand why Java doesn’t support multiple class inheritance to avoid issues like the “diamond problem.” Learn how Java uses interfaces to achieve multiple inheritance of type safely, giving classes the flexibility to implement multiple behaviors without losing clarity.

  • this and super method12:10

    Master how this() and super() in Java constructors enable cleaner initialization and inheritance. Learn the rules—like why they must appear on the first line—and see how constructor chaining avoids redundancy and simplifies object setup.

  • Method Overriding7:56

    Learn method overriding in Java, where a subclass redefines a superclass method with the same signature to customize behavior. This enables runtime polymorphism, allowing Java to decide which method runs based on the actual object type at execution.

  • Packages12:19
  • Access Modifiers8:22

    Understand Java access modifiers—public, private, protected, and default—and how they control visibility of classes, methods, and fields. Learn how access levels enforce encapsulation and create secure, well-structured Java applications.

  • Polymorphism3:54

    Discover polymorphism in Java, where objects of different classes can be treated through a common superclass or interface. Learn how the same method call can produce different behavior at runtime, making code more flexible, reusable, and maintainable.

  • Dynamic Method Dispatch8:03

    Master dynamic method dispatch in Java, where the JVM decides at runtime which overridden method to call based on the actual object type. This core mechanism powers runtime polymorphism, making Java code flexible, extensible, and dynamic.

  • Final keyword6:14

    Learn how the final keyword in Java enforces immutability, prevents method overriding, and stops class inheritance. See how it’s used for constants, critical methods, and unextendable classes—boosting clarity, security, and reliability in your code.

  • Object Class equals toString hashcode11:59

    Explore Java’s core Object class and its key methods—toString(), equals(), and hashCode(). Learn how these methods handle object representation, comparison, and identity, and why overriding them is essential for debugging and using objects in collections.

  • Upcasting and Downcasting6:36

    Master upcasting and downcasting in Java to work effectively with inheritance and polymorphism. Learn how upcasting makes code flexible by treating child objects as their parent type, and how safe downcasting restores subclass-specific behavior for real-world designs.

  • Wrapper class8:07

    Learn about Java wrapper classes that turn primitives (int, double, boolean) into objects—essential for collections, generics, and utility methods. This session also covers autoboxing and unboxing, showing how Java seamlessly converts between primitives and objects.

  • Exploring OOP in Java: Classes, Objects, Inheritance, and Core Principles
  • Project 1- Introduction3:04

    Get an overview of a Java console-based quiz application that asks multiple-choice questions, collects user input, evaluates answers, and displays a score. This project reinforces core Java skills like arrays, loops, conditionals, and user input in an interactive way.

  • Project 1- QuestionService and Question class6:03

    Discover how quizzes come to life with the Question and QuestionService classes in Java. You’ll see how each question is structured with an ID, options, and the correct answer, while the service manages them efficiently. This foundation makes building your console quiz app simple, scalable, and fun to expand.

  • Project 1- Hard Coded Questions and Display them9:04

    Bring your Java quiz application to life by storing hardcoded Question objects in an array and looping through them. You’ll display each question with its options, capture user responses, and track scores—transforming simple code into a fully functional console quiz with minimal setup.

  • Project 1- Play Quiz6:29

    Run your Java quiz application and play it like a real game—answer questions in the console, get instant feedback, and track your score as you go. This interactive session transforms your code into a fun quiz experience, showcasing how logic and user input bring applications to life.

  • Project 1- Calculate Score5:02

    Finish your Java quiz application by calculating the final score from correct answers and displaying results as a count or percentage. This feature adds instant feedback, giving your console quiz a polished and rewarding end.

  • Abstract keyword12:08

    Learn how the abstract keyword in Java defines class and method blueprints for object-oriented programming. This session explains why abstract classes can’t be instantiated, how they combine concrete and abstract methods, and how they provide a reusable architecture for scalable Java applications.

  • Inner class5:40

    Explore inner classes in Java, where classes are defined inside other classes to improve encapsulation and structure. Learn how nested and local classes group related logic together, keeping your code organized within the context of the outer class.

  • Anonymous Inner Class5:07

    Learn how anonymous inner classes in Java let you define and instantiate a class in one step without giving it a name. This feature is ideal for quick callbacks, event handling, or adding custom functionality on the fly while keeping your code concise and clean.

  • Abstract and Anonymous Inner Class3:15

    See how to combine an abstract class with an anonymous inner class in Java to instantiate and customize behavior instantly. This approach lets you extend abstract blueprints on the fly, offering a clean and flexible way to define logic without extra class files

  • Need of Interface8:31

    Understand the need for interfaces in Java and how they enable flexible design beyond single inheritance. Interfaces promote code reuse, establish clear contracts, and support method overriding—helping you build cleaner, organized, and real-world object-oriented applications.

  • What is Interface8:02

    Learn what an interface in Java is and how it defines method blueprints without implementation. Using the interface keyword, you’ll see how interfaces create behavioral contracts that multiple classes can implement, enabling flexible, reusable, and scalable designs beyond single inheritance.

  • More on Interfaces3:21

    Dive deeper into Java interfaces, exploring how they use public static final fields as constants and how one interface can extend multiple others. This session shows how interfaces enable flexible, type-safe designs by combining constants and abstract methods for scalable applications.

  • What is Enum6:57

    Learn about enums in Java, special type-safe classes used to represent fixed sets of values such as days or directions. This session shows how enums can include fields, methods, and constructors, making your code more readable, maintainable, and reliable than using constants.

  • Enum if and switch3:55

    Learn about enums in Java, special type-safe classes used to represent fixed sets of values such as days or directions. This session shows how enums can include fields, methods, and constructors, making your code more readable, maintainable, and reliable than using constants.

  • Enum Class7:54

    Explore enum classes in Java, special class types defined with the enum keyword to represent fixed sets of constants. Learn how enums can include fields, constructors, and methods, giving you type-safe, expressive designs that extend java.lang.Enum under the hood.

  • What is Annotation7:31

    Learn what annotations in Java are and how they add metadata to code without altering logic. From built-in markers like @Override and @Deprecated to custom annotations, this session shows how annotations improve clarity, ensure safety, and power modern frameworks and tools.

  • Types of Interface4:36

    Explore the types of interfaces in Java—regular interfaces, marker interfaces, and functional interfaces. Learn how each type is used, from defining contracts to enabling lambda expressions, and see how they strengthen design flexibility and improve Java programming fluency.

  • Mastering Abstraction in Java: Interfaces and Abstract Classes in Java
  • Functional Interface New3:33

    Learn about functional interfaces in Java, special interfaces with a single abstract method (SAM) that define clear, concise contracts. This session shows how @FunctionalInterface enforces design integrity and how these interfaces power modern Java features like lambdas and streams.

  • Lambda Expression6:11

    You’ll step into modern Java with lambda expressions—compact, anonymous blocks of code that can implement a single-method interface directly in place. Lambdas help you write cleaner, more expressive code by passing behaviour as values—no ceremony, just concise logic

  • Lambda Expression with return3:17

    Learn how Java lambda expressions work with return values—using concise single-line forms with implicit returns or multi-line blocks with explicit return. This session shows how lambdas align with functional interface signatures, making functional code cleaner, safer, and easier to maintain.

  • What is Exception5:18

    Understand exceptions in Java, runtime events that disrupt normal program flow. Learn how Java represents exceptions as objects that can be caught and handled, enabling you to write more robust, error-resistant, and reliable applications.

  • Exception Handling using try catch6:00

    Learn how to handle exceptions in Java using try-catch blocks to catch runtime errors and prevent program crashes. This session shows how structured error handling ensures smooth execution and user-friendly behavior, even when unexpected issues occur.

  • try with multiple catch10:19

    Explore how Java exception handling supports multiple catch blocks and the modern multi-catch syntax. This session teaches you to handle different error types gracefully, write cleaner code, and apply best practices for robust exception management.

  • Exception Hierarchy4:16

    Understand the Java exception hierarchy, where all errors and exceptions inherit from the Throwable class. Learn how checked exceptions, unchecked exceptions, and errors are organized, giving you a clear foundation for structured and effective error handling.

  • Exception throw keyword5:34

    Learn how to use Java’s throw keyword to explicitly generate exceptions for invalid inputs or illegal operations. This session shows how throw gives you precise control over error handling, enforcing rules and improving the robustness of your Java programs.

  • Custom Exception3:29

    Learn how to create custom exceptions in Java by defining your own exception classes for domain-specific errors. This approach makes error handling clearer, improves debugging, and ensures your program communicates issues more effectively.

  • Ducking Exception using throws9:54

    Understand ducking exceptions in Java, where methods declare throws to pass errors up the call stack instead of handling them immediately. This approach delegates responsibility cleanly, keeping code modular, focused, and easier to maintain.

  • User Input using BufferedReader and Scanner11:48

    Learn how to take user input in Java with two approaches: Scanner for simple reading of text and numbers, and BufferedReader for fast, efficient handling of larger input streams. Mastering both makes your console applications more flexible, robust, and performance-ready.

  • try with resources8:08

    Discover Java’s try-with-resources, a modern way to manage files, streams, and other resources. This feature automatically closes any object implementing AutoCloseable, simplifying your code and preventing resource leaks for safer, cleaner programs.

  • Handling Arithmetic Exceptions in Java: Divide by Zero Safely
  • Handling Exceptions in Java: Advanced Exercise: Try-Catch, Throw, and Throws in Action
  • Threads5:12

    Get introduced to threads in Java, the backbone of concurrent programming. See how threads power parallel tasks, boosting performance and responsiveness—laying the groundwork for modern, high-speed applications.

  • Multiple Threads11:29

    Discover multithreading in Java, where multiple threads run side by side to make programs faster and more responsive. Learn how multithreading boosts efficiency, responsiveness, and performance.

  • Thread Priority and Sleep7:28

    Learn how to manage thread execution in Java using priority levels and the sleep() method. See how priorities guide scheduling and how sleep adds controlled pauses—giving you more power over multitasking flow.

  • Runnable vs Thread8:26

    Discover two ways to create threads in Java—by extending the Thread class or implementing the Runnable interface. Learn the key differences and why Runnable is often the smarter choice for flexible, scalable multithreading.

  • Race Condition12:29

    Understand race conditions in Java multithreading, where multiple threads access shared data at the same time and cause unpredictable results. Learn why they occur and how preventing them ensures safe, consistent program behavior.

  • Thread states3:30

    Explore the lifecycle of a thread in Java, from creation to termination. Learn how threads transition through states like New, Runnable, Running, Waiting, and Blocked—building a clear foundation for mastering multithreading.

  • Java Multithreading in Action: Managing Threads, Priorities, and Race Conditions
  • Collection API4:48

    Get introduced to the Java Collections API, a powerful framework for storing, organizing, and managing groups of objects. Learn how structures like List, Set, and Map simplify data handling and make your programs more efficient and consistent.

  • ArrayList11:53

    Explore ArrayList in Java, the most popular implementation of the List interface. Learn how it offers dynamic resizing, fast random access, and built-in methods that make managing collections simple and efficient.

  • Set7:07

    Learn about the Set interface in Java and its popular implementation, HashSet. See how sets automatically ensure uniqueness by discarding duplicates and how hashing enables fast storage and lookups for efficient data handling.

  • Map10:02

    Master the Map interface in Java, where data is stored as key-value pairs for fast lookups and updates. Learn practical methods like keySet, values, and entrySet, and build confidence with HashMap—one of the most powerful tools in the Java Collections Framework.

  • Comparator vs Comparable15:42

    Understand the difference between Comparable and Comparator in Java and learn when to use each. See how they enable custom object sorting, making your code more flexible and easier to adapt in real-world scenarios.

  • Mastering Java Collections: Organize, Store, and Sort with List, Set, Map, and Comparators
  • Need of Stream API7:03

    Discover the need for Stream API in Java and how it simplifies data processing compared to traditional loops. Learn why streams make code cleaner, faster, and more functional—laying the foundation for modern Java programming.

  • forEach Method4:48

    Learn how to use the forEach method in Java with the Consumer functional interface to simplify iteration. See how functional programming replaces boilerplate loops with clean, modern, and more readable code.

  • Stream API9:11

    Dive into Java Streams and unlock the power of functional-style programming. Learn how to process collections with ease using map, filter, and reduce operations. Master the foundation of Streams to write faster, cleaner, and more expressive code.

  • Map Filter Reduce Sorted9:13

    Master Java Stream methods like map, filter, reduce, and sorted to transform and process data with ease. Learn how functional-style code makes complex operations concise, efficient, and perfect for real-world applications.

  • ParallelStream in Java15:21

    Unlock the power of Parallel Streams in Java to process large datasets faster with multi-core performance. Learn when to apply parallelism, best practices to avoid pitfalls, and how to write optimized, efficient code.

  • Optional class in Java5:41

    Learn how the Optional class in Java helps you avoid NullPointerException and write null-safe code. Explore methods like isPresent, orElse, and ifPresent to handle values more cleanly, making your applications robust and reliable.

  • Method Reference5:20

    Simplify your code with method references in Java, a clean shorthand for lambda expressions. Learn how to use static, instance, and constructor references to make your code concise, readable, and professional.

  • Constructor Reference6:22

    Explore constructor references in Java to simplify object creation with functional programming. Learn how this feature replaces verbose code with clean, concise expressions, strengthening your grasp of modern Java.

  • Quiz 4
  • Java Streams: Mastering forEach, Map, Filter, and Reduce Operations

Requirements

  • Basic Computer knowledge

Description

We are glad you decided to learn how to do Java development. In this course, you'll learn the most important and in-demand skills for core Java development. Especially if you have a job interview or a Java project to complete. This course is designed for complete beginners with no background in Java and will teach you everything you need to know to become an expert.

You will learn how to create classes and interfaces, as well as how to write many methods that include variables, operators, data types, loops, conditional statements, exception handling, and threads. Furthermore, you will everything in practical way.

Java is not difficult, its a structured programming language used by big companies.

Java is used in Android, Enterprise application development, web sites, Big data, AI and many more.

Navin Reddy (that's me:P) is the instructor for this course, and he has a YouTube channel called Telusko with over 2 million subscribers.

I have industry experience of 13 years worked on Java, Spring, JS, AWS, Kotlin, Blockchain etc.

I love exploring different technologies and sharing my knowledge with everyone.


I hope you will enjoy the course and practise along side.

You will find the source code in the github repository.



Who this course is for:

  • Developers who want to work on Java Technology and Build enterprise applications