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.

  • 110 parts
  • ~945 min total
  • Beginner to Intermediate
  • Updated Jun 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.

The chapter list on this page is the full course index: every Java lesson is linked here. On other Java pages, the sidebar shows a shorter spine of core topics in learning order so navigation stays light; use this hub whenever you need the complete list—including type conversions, IDE setup guides, collection comparisons, and interview prep.

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 · 110 lessons · ~945 min of reading

  1. 1 Getting Started and IDE Setup 6 lessons
    1. Part 1 Install Java on Linux, Windows, macOS 9 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 5 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 8 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 6 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 Coming soon
    5. Part 68 ArrayList vs LinkedList 6 min read
    6. Part 69 List vs LinkedList 6 min read
    7. Part 70 Arrays and Collections overview 11 min read
    8. Part 71 Initialize a list 7 min read
    9. Part 72 Reverse a list 5 min read
    10. Part 73 Get a sublist 7 min read
    11. Part 74 ListIterator 7 min read
    12. Part 75 Convert a List to a Map 14 min read
    13. Part 76 Convert a Set to a List 7 min read
    14. Part 77 Hashtable vs HashMap 6 min read
    15. Part 78 HashMap vs Hashtable vs HashSet 6 min read
    16. Part 79 HashSet examples 11 min read
    17. Part 80 CopyOnWriteArrayList 7 min read
    18. Part 81 Stack vs Queue 9 min read
  8. 8 Functional Java (lambda, streams) 2 lessons
    1. Part 82 Lambda expressions 9 min read
    2. Part 83 Predicate functional interface 7 min read
  9. 9 Date, Time and Regex 5 lessons
    1. Part 84 Get the current date 6 min read
    2. Part 85 Convert a string to a Date 6 min read
    3. Part 86 Format dates and times 9 min read
    4. Part 87 Regex basics 11 min read
    5. Part 88 Regex examples 10 min read
  10. 10 File I/O and User Input 10 lessons
    1. Part 89 Read a file 8 min read
    2. Part 90 Create and write to a file 10 min read
    3. Part 91 Check if a file exists 6 min read
    4. Part 92 Copy a file 6 min read
    5. Part 93 Read user input (Scanner) 11 min read
    6. Part 94 Skip a line in Scanner 6 min read
    7. Part 95 Mask password input 3 min read
    8. Part 96 Serialization and deserialization 11 min read
    9. Part 97 WatchService - watch a directory 7 min read
    10. Part 98 Hashing methods Coming soon
  11. 11 Exception Handling 3 lessons
    1. Part 98 try / catch / finally 14 min read
    2. Part 99 throw an exception 11 min read
    3. Part 100 Throw exceptions in practice Coming soon
  12. 12 Multithreading and Concurrency 6 lessons
    1. Part 100 Multithreading basics 20 min read
    2. Part 101 Thread class examples 8 min read
    3. Part 102 Multiprocessing in Java 16 min read
    4. Part 103 Thread.sleep() 7 min read
    5. Part 104 Scheduling tasks 12 min read
    6. Part 105 Java memory management 10 min read
  13. 13 Data Structures (interview prep) 6 lessons
    1. Part 106 Implement a linked list Coming soon
    2. Part 106 LinkedList class tutorial 12 min read
    3. Part 107 Detect a loop in a linked list 6 min read
    4. Part 108 Find the merge point of two lists 8 min read
    5. Part 109 Find the height of a tree 6 min read
    6. Part 110 Implement three stacks in one array 6 min read
Deepak Prasad

R&D Engineer

Founder of GoLinuxCloud with more than 15 years 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, networking, and security, delivering robust and efficient solutions for diverse projects.

  • Go (programming language)
  • Python (programming language)
  • DevOps
  • Computer Security
  • Cloud Computing
  • Kubernetes
  • Linux
  • Ansible (software)