Skip to content

TypingDad logoTypingDadFree

Practice that's friendly and fast

☕ Java Programs

105 Essential Programs from Beginner to Advanced

Your Progress

0/105Total
0/20Beginner
0/45Intermediate
0/40Advanced
105Total Programs
20Beginner
48Intermediate
37Advanced
13Categories

Filter by Category

Filter by Level

105 programs shown
🟢

Hello World

#1

Print Hello World

BeginnerBasics
🟢

Print Name

#2

Print user name

BeginnerBasics
🟢

Add Two Numbers

#3

Add two numbers

BeginnerBasics
🟢

Swap Numbers

#4

Swap two variables

BeginnerBasics
🔵

Largest of Two

#5

Find largest of two numbers

BeginnerConditions
🔵

Even or Odd

#6

Check even or odd

BeginnerConditions
🔄

Factorial

#7

Find factorial of number

BeginnerLoops
🔄

Fibonacci

#8

Print Fibonacci series

BeginnerLoops
🧠

Reverse Number

#9

Reverse digits of number

BeginnerLogic
🧠

Prime Check

#10

Check if number is prime

BeginnerLogic
📝

Palindrome String

#11

Check palindrome string

BeginnerStrings
📊

Sum of Array

#12

Find sum of array elements

BeginnerArrays
📊

Largest in Array

#13

Find largest element

BeginnerArrays
📝

Count Vowels

#14

Count vowels in string

BeginnerStrings
🧠

Sum of Digits

#15

Sum digits of a number

BeginnerLogic
🧠

Leap Year

#16

Check if year is leap year

BeginnerLogic
🟢

ASCII Value

#17

Find ASCII value of a character

BeginnerBasics
🧠

Armstrong Number

#18

Check Armstrong number

BeginnerLogic
🔄

Multiplication Table

#19

Print multiplication table

BeginnerLoops
🔵

Vowel or Consonant

#20

Check if char is vowel

BeginnerConditions
📊

Reverse Array

#21

Reverse an array

IntermediateArrays
📊

Binary Search

#22

Binary search

IntermediateArrays
📝

Anagram Check

#23

Check if strings are anagrams

IntermediateStrings
🏗️

Constructor Overloading

#24

Multiple Constructors

IntermediateOOP
🏗️

Method Overriding

#25

Overriding parent methods

IntermediateOOP
📦

ArrayList Basics

#26

Using ArrayList

IntermediateCollections
📦

HashMap Basics

#27

Using HashMap

IntermediateCollections
📚

Exception Handling

#28

Try / Catch

IntermediateError Handling
📚

Custom Exception

#29

Throw custom exception

IntermediateError Handling
📚

Read Text File

#30

Read using Scanner

IntermediateFile I/O

Lambda Expression

#31

Java 8 Lambda

IntermediateJava 8+

Streams Map/Filter

#32

Java 8 Streams

IntermediateJava 8+
📝

String to Int

#33

Parsing string

IntermediateStrings
📦

Sort Array of Objects

#34

Using Comparable

IntermediateCollections

Thread Basics

#35

Create a thread

IntermediateConcurrency

Runnable Interface

#36

Implement Runnable

IntermediateConcurrency

Deadlock Example

#37

Simulate deadlock

AdvancedConcurrency
📚

Singleton Pattern

#38

Singleton instance

AdvancedArchitecture
📚

Factory Pattern

#39

Factory design pattern

AdvancedArchitecture
🔥

Generics

#40

Generic class

AdvancedAdvanced Java

Record Classes

#41

Java 14+ Records

AdvancedJava 8+
🔥

Reflection API

#42

Get class name at runtime

AdvancedAdvanced Java
🔥

Annotations

#43

Custom Annotation

AdvancedAdvanced Java

CompletableFuture

#44

Async operations

AdvancedConcurrency
🧮

Quick Sort Java

#45

Quick sort algorithm

AdvancedDSA
🧮

Merge Sort Java

#46

Merge sort algorithm

AdvancedDSA
🧮

Linked List Node

#47

Custom LinkedList

AdvancedDSA
🧮

Binary Tree Traverse

#48

Inorder traversal

AdvancedDSA
📚

JDBC Connection

#49

Database connection

AdvancedDatabase
📚

TCP Socket

#50

Client Server basic

AdvancedNetworks

Lambda Map Reduce

#51

Stream map and reduce

IntermediateJava 8+

Method Reference

#52

Double colon operator

IntermediateJava 8+

Optional Basics

#53

Avoid null checks

IntermediateJava 8+

Switch Expression

#54

Java 12+ Switch

IntermediateJava 8+

Text Blocks

#55

Multiline strings

IntermediateJava 8+

Var Keyword

#56

Local variable inference

IntermediateJava 8+

Pattern Matching

#57

instanceof pattern

IntermediateJava 8+
📦

Stack implementation

#58

Using Java Stack

IntermediateCollections
📦

Queue implementation

#59

Using LinkedList as Queue

IntermediateCollections
📦

HashSet Basics

#60

Unique elements

IntermediateCollections
📦

TreeSet Sorting

#61

Sorted Unique elements

IntermediateCollections
📦

TreeMap

#62

Sorted Map by key

IntermediateCollections
📦

Comparator Interface

#63

Custom sorting

IntermediateCollections
📦

Iterator

#64

Iterating Collections

IntermediateCollections

Create Thread (Runnable)

#65

Thread using Runnable

IntermediateConcurrency

Thread Sleep

#66

Pause a thread

IntermediateConcurrency

Thread Join

#67

Wait for thread death

IntermediateConcurrency

Synchronized Block

#68

Thread safety

IntermediateConcurrency

ReentrantLock

#69

Advanced locking

AdvancedConcurrency

Executors

#70

Thread pool execution

AdvancedConcurrency

Callable & Future

#71

Return result from thread

AdvancedConcurrency

CountDownLatch

#72

Wait for multiple threads

AdvancedConcurrency

CyclicBarrier

#73

Sync threads at point

AdvancedConcurrency

Read/Write Lock

#74

Concurrent reads

AdvancedConcurrency
📚

Write to File

#75

Using Files.write

IntermediateFile I/O
📚

Read all lines

#76

Using Files.readAllLines

IntermediateFile I/O
📚

File Copy

#77

Using Files.copy

IntermediateFile I/O
📚

List Directory

#78

Using Files.list

IntermediateFile I/O
📚

Delete File

#79

Using Files.delete

IntermediateFile I/O
📚

Properties File

#80

Read key value pairs

IntermediateFile I/O
📚

Serialization

#81

Object to Byte stream

AdvancedFile I/O
📚

Deserialization

#82

Byte stream to Object

AdvancedFile I/O
🏗️

Abstract vs Interface

#83

Basic usage

IntermediateOOP
🏗️

Polymorphism Basics

#84

Overridden methods

IntermediateOOP
🏗️

Super Keyword

#85

Access parent class

IntermediateOOP
🏗️

Enum Basics

#86

Custom Enums

IntermediateOOP
🏗️

Enum with values

#87

Constructor in Enum

IntermediateOOP
🔥

Inner Class

#88

Class inside class

AdvancedAdvanced Java
🔥

Anonymous Inner Class

#89

Class without name

AdvancedAdvanced Java
📚

Try with Resources

#90

Auto close resources

AdvancedError Handling
📚

Custom Exception

#91

Inherit Exception

AdvancedError Handling
📚

Chained Exceptions

#92

Exception cause

AdvancedError Handling
📚

Assertion

#93

Using assert keyword

AdvancedError Handling
🔥

Dynamic Proxy

#94

Proxy class

AdvancedAdvanced Java
🔥

ProcessBuilder

#95

Run external commands

AdvancedAdvanced Java
📚

HttpClient (Java 11+)

#96

Modern HTTP request

AdvancedNetworks
🧮

Graph Implementation

#97

Adjacency List Graph

AdvancedDSA
🧮

Dijkstra shortest path

#98

Using PriorityQueue

AdvancedDSA
📚

Builder Pattern

#99

Design Pattern

AdvancedArchitecture
📚

Decorator Pattern

#100

Design Pattern

AdvancedArchitecture
📚

Strategy Pattern

#101

Design Pattern

AdvancedArchitecture
📚

JDBC ResultSet

#102

Read DB rows

AdvancedDatabase
🔥

JNI Basics

#103

Java Native Interface

AdvancedAdvanced Java
🔥

ClassLoader

#104

Custom class loader

AdvancedAdvanced Java
🔥

Unsafe API

#105

sun.misc.Unsafe hack

AdvancedAdvanced Java