Free Online Course · Self-paced

Java Tutorial for Beginners (with examples)

Free, complete Java tutorial for beginners - install JDK, variables, operators, control flow, OOP, collections, streams, lambda, multithreading, file I/O, regex, and exception handling. 80+ tested lessons on Java 17/21 LTS.

  • 114 parts
  • ~979 min total
  • Beginner to Intermediate
  • Updated May 2026
Java Tutorial for Beginners (with examples)
By Last updated

Java is the world's most-deployed language - banks, payment systems, Android apps, and most large enterprise backends run on the JVM. This tutorial covers Java the way you will actually use it, with examples tested on Java 17 and Java 21 LTS releases.

We start with installation and IDE setup, then walk through every fundamental (variables, operators, control flow), object-oriented programming (encapsulation, inheritance, polymorphism, generics, interfaces), the Collections framework (List, Map, Set, Queue and the implementation tradeoffs), functional Java (lambdas, Predicates, streams), strings and dates, file I/O, exception handling, multithreading, and a final chapter on classic interview data structures. Every chapter is short and idempotent.

Click Start the course to begin with installation, or jump to the chapter you need - Object-Oriented Programming, Arrays and Collections, and Multithreading are the most-bookmarked.

What you'll learn

  • Install Java, set up your IDE, and write your first `main()` method
  • Master Java fundamentals - variables, primitives, operators, control flow
  • Build classes with encapsulation, inheritance, polymorphism, generics, interfaces
  • Use the Collections framework (List, Set, Map, Queue) and pick the right one for each job
  • Work with strings, dates, regex, files, and standard I/O
  • Apply functional programming with lambda expressions, streams, and Predicate
  • Handle exceptions, write multithreaded code, and schedule background work

Prerequisites

  • JDK 17 or 21 (LTS) installed
  • Any IDE (IntelliJ IDEA Community, VS Code, or Eclipse)
  • Basic programming familiarity (variables, loops, functions)

Syllabus

13 chapters · 114 lessons · ~979 min of reading

  1. 1 Getting Started and IDE Setup 6 lessons
    1. Part 1 Install Java on Linux, Windows, macOS 8 min read
    2. Part 2 Set up Java with Eclipse IDE 4 min read
    3. Part 3 Set up Java with BlueJ 5 min read
    4. Part 4 Set up Java with VS Code 4 min read
    5. Part 5 The main() method explained 20 min read
    6. Part 6 Multi-line comments in Java 10 min read
  2. 2 Variables, Data Types and Operators 17 lessons
    1. Part 7 Variables and types 10 min read
    2. Part 8 Primitive and reference data types 11 min read
    3. Part 9 byte data type 8 min read
    4. Part 10 Booleans 10 min read
    5. Part 11 int vs Integer 15 min read
    6. Part 12 long - MAX_VALUE and MIN_VALUE 4 min read
    7. Part 13 Declare global variables (static fields) 6 min read
    8. Part 14 Escape sequences in strings 5 min read
    9. Part 15 Java operators overview 11 min read
    10. Part 16 Arithmetic operators 17 min read
    11. Part 17 Relational operators 6 min read
    12. Part 18 Logical operators 6 min read
    13. Part 19 Bitwise operators 6 min read
    14. Part 20 Unary operators 6 min read
    15. Part 21 Boolean operators 8 min read
    16. Part 22 XOR (^) operator 7 min read
    17. Part 23 Type casting in Java 8 min read
  3. 3 Control Flow 8 lessons
    1. Part 24 if / else 10 min read
    2. Part 25 switch statement 18 min read
    3. Part 26 for loop 11 min read
    4. Part 27 Enhanced for (for-each) loop 5 min read
    5. Part 28 Nested loops 7 min read
    6. Part 29 while loop 10 min read
    7. Part 30 while vs do-while 8 min read
    8. Part 31 break and continue 9 min read
  4. 4 Strings, Math and Numbers 15 lessons
    1. Part 32 String methods overview 10 min read
    2. Part 33 Concatenate strings 10 min read
    3. Part 34 String length 8 min read
    4. Part 35 String indexing 5 min read
    5. Part 36 indexOf() method 8 min read
    6. Part 37 Split a string into an array 6 min read
    7. Part 38 Reverse a string 9 min read
    8. Part 39 Compare characters 6 min read
    9. Part 40 Add quotation marks within a string 5 min read
    10. Part 41 String interpolation 7 min read
    11. Part 42 Math class methods 11 min read
    12. Part 43 NumberFormat class 6 min read
    13. Part 44 DecimalFormat 7 min read
    14. Part 45 Compute a square 7 min read
    15. Part 46 Add fractions 4 min read
  5. 5 Methods, Parameters and Return Values 6 lessons
    1. Part 47 Method arguments 8 min read
    2. Part 48 Arguments vs parameters 10 min read
    3. Part 49 Parameter examples 8 min read
    4. Part 50 Optional parameters in Java 14 min read
    5. Part 51 Return multiple values 6 min read
    6. Part 52 Function currying 6 min read
  6. 6 Object-Oriented Programming 12 lessons
    1. Part 53 Constructors 15 min read
    2. Part 54 Class constructor examples 9 min read
    3. Part 55 Getters and setters (accessors / mutators) 7 min read
    4. Part 56 Encapsulation 11 min read
    5. Part 57 Inheritance 8 min read
    6. Part 58 Polymorphism 9 min read
    7. Part 59 private vs protected 9 min read
    8. Part 60 Interface vs abstract class 6 min read
    9. Part 61 instanceof 5 min read
    10. Part 62 Generics in Java 10 min read
    11. Part 63 Design patterns in Java 18 min read
    12. Part 64 final vs finally vs finalize 11 min read
  7. 7 Arrays and Collections 18 lessons
    1. Part 65 Arrays in Java 10 min read
    2. Part 66 Return an array from a method 7 min read
    3. Part 67 Arrays.asList() explained 7 min read
    4. Part 68 Array vs ArrayList 7 min read
    5. Part 69 ArrayList vs LinkedList 6 min read
    6. Part 70 List vs LinkedList 6 min read
    7. Part 71 Arrays and Collections overview 11 min read
    8. Part 72 Initialize a list 7 min read
    9. Part 73 Reverse a list 6 min read
    10. Part 74 Get a sublist 7 min read
    11. Part 75 ListIterator 7 min read
    12. Part 76 Convert a List to a Map 14 min read
    13. Part 77 Convert a Set to a List 7 min read
    14. Part 78 Hashtable vs HashMap 6 min read
    15. Part 79 HashMap vs Hashtable vs HashSet 6 min read
    16. Part 80 HashSet examples 11 min read
    17. Part 81 CopyOnWriteArrayList 7 min read
    18. Part 82 Stack vs Queue 9 min read
  8. 8 Functional Java (lambda, streams) 2 lessons
    1. Part 83 Lambda expressions 9 min read
    2. Part 84 Predicate functional interface 7 min read
  9. 9 Date, Time and Regex 5 lessons
    1. Part 85 Get the current date 6 min read
    2. Part 86 Convert a string to a Date 6 min read
    3. Part 87 Format dates and times 9 min read
    4. Part 88 Regex basics 11 min read
    5. Part 89 Regex examples 10 min read
  10. 10 File I/O and User Input 10 lessons
    1. Part 90 Read a file 8 min read
    2. Part 91 Create and write to a file 10 min read
    3. Part 92 Check if a file exists 6 min read
    4. Part 93 Copy a file 6 min read
    5. Part 94 Read user input (Scanner) 11 min read
    6. Part 95 Skip a line in Scanner 6 min read
    7. Part 96 Mask password input 3 min read
    8. Part 97 Serialization and deserialization 11 min read
    9. Part 98 WatchService - watch a directory 7 min read
    10. Part 99 Hashing methods 8 min read
  11. 11 Exception Handling 3 lessons
    1. Part 100 try / catch / finally 14 min read
    2. Part 101 throw an exception 11 min read
    3. Part 102 Throw exceptions in practice 7 min read
  12. 12 Multithreading and Concurrency 6 lessons
    1. Part 103 Multithreading basics 21 min read
    2. Part 104 Thread class examples 8 min read
    3. Part 105 Multiprocessing in Java 16 min read
    4. Part 106 Thread.sleep() 7 min read
    5. Part 107 Scheduling tasks 13 min read
    6. Part 108 Java memory management 10 min read
  13. 13 Data Structures (interview prep) 6 lessons
    1. Part 109 Implement a linked list 7 min read
    2. Part 110 LinkedList class tutorial 12 min read
    3. Part 111 Detect a loop in a linked list 6 min read
    4. Part 112 Find the merge point of two lists 8 min read
    5. Part 113 Find the height of a tree 6 min read
    6. Part 114 Implement three stacks in one array 6 min read
Deepak Prasad

R&D Engineer

Founder of GoLinuxCloud with over a decade of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, AWS, Networking, and Security. With extensive experience, he excels across development, DevOps, …

  • Red Hat Certified System Administrator in Red Hat OpenStack
  • Certified Kubernetes Application Developer (CKAD)
  • Red Hat Certified Specialist in Ansible Automation
  • Go (programming language)
  • Python (programming language)
  • DevOps
  • Computer Security