Built for developers, by XinhND

v2.1.0

Ready

Java Cheat Sheet

Complete reference guide for Java with interactive examples and live playground links

Basic Syntax

Hello World

The classic first program: outputting text to the console.

Java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

Variables and Data Types

Variable declaration and basic data types in Java

Java
// Primitive types
int age = 30;
double height = 5.9;
boolean isActive = true;
char grade = 'A';

// Reference types
String name = "Java";
Integer count = 42;
Double price = 19.99;
Boolean isValid = true;

// Type conversion
int num = 42;
double decimal = (double) num;  // Explicit casting
int backToInt = (int) decimal;  // Explicit casting

String Operations

Common string operations and formatting techniques

Java
String text = "Hello World";

// String methods
System.out.println(text.toUpperCase());        // HELLO WORLD
System.out.println(text.toLowerCase());        // hello world
System.out.println(text.replace("World", "Java"));  // Hello Java
System.out.println(text.split(" "));           // [Hello, World]
System.out.println(text.length());             // 11

// String formatting
String name = "Alice";
int age = 25;
System.out.printf("My name is %s and I'm %d years old%n", name, age);
System.out.println(String.format("My name is %s and I'm %d years old", name, age));

Arrays and Collections

Working with arrays and collections

Java
// Arrays
int[] numbers = {1, 2, 3, 4, 5};
String[] fruits = new String[3];
fruits[0] = "apple";
fruits[1] = "banana";
fruits[2] = "cherry";

// ArrayList
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("cherry");
list.remove("banana");
list.set(0, "orange");

// HashMap
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("cherry", 3);
map.remove("banana");
int value = map.get("apple");

Input/Output

Basic input and output operations

Java
// Console output
System.out.println("Hello World");
System.out.printf("Name: %s, Age: %d%n", name, age);
System.out.print("No new line");

// Console input
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = scanner.nextLine();
System.out.print("Enter your age: ");
int age = scanner.nextInt();
scanner.close();

Comments

Different ways to add comments and documentation

Java
// Single line comment

/*
 * Multi-line comment
 * This is a block comment
 */

/**
 * Javadoc comment
 * Used for documentation
 * @param name the name parameter
 * @return the greeting string
 */
public String greet(String name) {
    return "Hello, " + name;
}

Control Flow

Conditional Statements

Conditional logic and decision making

Java
// If-else
int age = 18;
if (age >= 18) {
    System.out.println("Adult");
} else if (age >= 13) {
    System.out.println("Teenager");
} else {
    System.out.println("Child");
}

// Ternary operator
String status = (age >= 18) ? "Adult" : "Minor";

// Switch statement
switch (age) {
    case 18:
        System.out.println("Just became adult");
        break;
    case 13:
        System.out.println("Just became teenager");
        break;
    default:
        System.out.println("Other age");
}

Loops

Different types of loops and iterations

Java
// For loop
for (int i = 0; i < 5; i++) {
    System.out.println(i);
}

// Enhanced for loop
String[] fruits = {"apple", "banana", "cherry"};
for (String fruit : fruits) {
    System.out.println(fruit);
}

// While loop
int count = 0;
while (count < 5) {
    System.out.println(count);
    count++;
}

// Do-while loop
int num = 0;
do {
    System.out.println(num);
    num++;
} while (num < 5);

Exception Handling

Error handling with try-catch blocks and custom exceptions

Java
try {
    // Risky code
    int result = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("Cannot divide by zero!");
} catch (Exception e) {
    System.out.println("An error occurred: " + e.getMessage());
} finally {
    System.out.println("This always executes");
}

// Custom exception
class ValidationException extends Exception {
    public ValidationException(String message) {
        super(message);
    }
}

// Throwing exceptions
public void validate(int age) throws ValidationException {
    if (age < 0) {
        throw new ValidationException("Age cannot be negative");
    }
}

Object-Oriented Programming

Classes and Objects

Class definition, constructors, and methods

Java
public class Person {
    // Fields
    private String name;
    private int age;
    
    // Constructor
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    // Getters and Setters
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    // Methods
    public void introduce() {
        System.out.printf("Hi, I'm %s and I'm %d years old%n", name, age);
    }
}

// Usage
Person person = new Person("Alice", 25);
person.introduce();

Inheritance and Interfaces

Inheritance, abstract classes, and interfaces

Java
// Abstract class
abstract class Animal {
    protected String name;
    
    public Animal(String name) {
        this.name = name;
    }
    
    public abstract void makeSound();
}

// Interface
interface Movable {
    void move();
    void stop();
}

// Class implementing interface and extending abstract class
class Dog extends Animal implements Movable {
    public Dog(String name) {
        super(name);
    }
    
    @Override
    public void makeSound() {
        System.out.println("Woof!");
    }
    
    @Override
    public void move() {
        System.out.println("Dog is running");
    }
    
    @Override
    public void stop() {
        System.out.println("Dog stopped");
    }
}

Collections Framework

Lists and Sets

Working with Lists and Sets

Java
// ArrayList
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("cherry");
list.remove("banana");
String first = list.get(0);

// LinkedList
List<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);

// HashSet
Set<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("cherry");
set.add("apple");  // Duplicate, won't be added

// TreeSet
Set<Integer> treeSet = new TreeSet<>();
treeSet.add(3);
treeSet.add(1);
treeSet.add(2);
// Will be stored in order: 1, 2, 3

Maps

Map implementations and operations

Java
// HashMap
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("cherry", 3);

// Accessing values
int value = map.get("apple");
boolean exists = map.containsKey("banana");
map.remove("cherry");

// TreeMap
Map<String, Integer> treeMap = new TreeMap<>();
treeMap.put("cherry", 3);
treeMap.put("apple", 1);
treeMap.put("banana", 2);
// Keys will be stored in order: apple, banana, cherry

// Iterating
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    System.out.printf("%s: %d%n", entry.getKey(), entry.getValue());
}

Streams and Lambdas

Stream Operations

Working with Java Streams API

Java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// Filter and map
List<Integer> evenSquares = numbers.stream()
    .filter(n -> n % 2 == 0)
    .map(n -> n * n)
    .collect(Collectors.toList());

// Reduce
int sum = numbers.stream()
    .reduce(0, Integer::sum);

// Grouping
Map<String, List<Person>> byAge = people.stream()
    .collect(Collectors.groupingBy(p -> p.getAge() >= 18 ? "Adult" : "Minor"));

// Parallel stream
int sum = numbers.parallelStream()
    .mapToInt(Integer::intValue)
    .sum();

Lambda Expressions

Lambda expressions and functional programming

Java
// Functional interfaces
@FunctionalInterface
interface Calculator {
    int calculate(int a, int b);
}

// Lambda expressions
Calculator add = (a, b) -> a + b;
Calculator subtract = (a, b) -> a - b;
Calculator multiply = (a, b) -> a * b;

// Method references
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.forEach(System.out::println);

// Comparator
List<Person> people = new ArrayList<>();
people.sort((p1, p2) -> p1.getName().compareTo(p2.getName()));
// or
people.sort(Comparator.comparing(Person::getName));

Java - Interactive Developer Reference

Hover over code blocks to copy or run in live playground