Online Java Compiler

Compile and run Java classes online using a CLI-style tool—no JDK installation required.

🚀 43,745 total executions (5,083 this month)

Udemy Logo Udemy Affiliates: Master Java through hands-on courses

Loading...

☕ About This Java Online Executor

The CodeUtility Java Executor lets you write and run Java programs directly in your browser — no installation, JDK setup, or IDE required. It’s powered by a secure sandbox that supports real Java runtime versions 8, 11, 17, 21, and the latest.

This tool compiles and executes Java code in the cloud using a real javac compiler and Java runtime environment, so you can test classes, methods, and logic exactly as they would behave locally.

Whether you’re practicing object-oriented programming, preparing for interviews, or testing snippets before integration, the CodeUtility Java Executor provides a fast and reliable environment to run real Java code instantly from any device.

⚙️ How to Use This Tool

  • 1. Select a Java version (8, 11, 17, 21, or Latest) from the dropdown at the top of the editor.
  • 2. Write or paste your Java code into the editor area.
  • 3. Click Run to compile and execute your program — output will appear in the console below.
  • 4. While running, a Stop button appears — click it to stop execution early.
  • 5. Use Fix Code to automatically correct minor formatting or syntax issues.
  • 6. After fixing, a Fixes button appears — click it to review recent fixes.
  • 7. Use the Upload button to import code from a local file, or the Download button to save your current code from the editor.
  • 8. Each execution runs up to 20 seconds before automatically terminating.

🧠 Tip: This environment runs real Java code securely in your browser — no login or setup required.

💡 Java Basics & Examples You Can Try Above

1. Declaring Variables and Constants

Java requires you to declare the type of each variable. Use final for constants.

int age = 30;
double pi = 3.14159;
char grade = 'A';
String name = "Alice";
boolean isActive = true;

// Constants
final int MAX_USERS = 100;
final String COMPANY = "CodeUtility";

2. Conditionals (if / switch)

Use if, else if, and switch for control flow.

int x = 2;
if (x == 1) {
    System.out.println("One");
} else if (x == 2) {
    System.out.println("Two");
} else {
    System.out.println("Other");
}

switch (x) {
    case 1:
        System.out.println("One");
        break;
    case 2:
        System.out.println("Two");
        break;
    default:
        System.out.println("Other");
}

3. Loops

Use for, while, and do-while for iteration.

for (int i = 0; i < 3; i++) {
    System.out.println(i);
}

int n = 3;
while (n > 0) {
    System.out.println(n);
    n--;
}

4. Arrays

Arrays hold fixed-size sequences of the same type.

int[] numbers = {10, 20, 30};
System.out.println(numbers[1]);

5. ArrayList Manipulation

Use ArrayList for dynamic-sized lists.

import java.util.ArrayList;

ArrayList<Integer> nums = new ArrayList<>();
nums.add(1);
nums.add(2);
nums.add(3);
nums.remove(Integer.valueOf(2));

for (int num : nums) {
    System.out.print(num + " ");
}

6. Console Input/Output

Use Scanner for input and System.out for output.

import java.util.Scanner;

Scanner scanner = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = scanner.nextLine();
System.out.println("Hello, " + name);

7. Functions

Define methods with return types and parameters.

public static int add(int a, int b) {
    return a + b;
}

System.out.println(add(3, 4));

8. HashMaps

Use HashMap for key-value storage.

import java.util.HashMap;

HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
System.out.println(ages.get("Alice"));

9. Exception Handling

Use try and catch to handle runtime exceptions.

try {
    throw new Exception("Something went wrong");
} catch (Exception e) {
    System.out.println(e.getMessage());
}

10. File I/O

Use Files and Paths from java.nio.file for file handling.

import java.nio.file.*;
import java.io.IOException;

Files.writeString(Paths.get("file.txt"), "Hello File");
String content = Files.readString(Paths.get("file.txt"));
System.out.println(content);

11. String Manipulation

Java strings support many methods like length(), substring(), and contains().

String text = "Hello World";
System.out.println(text.length());
System.out.println(text.substring(0, 5));
System.out.println(text.contains("World"));

12. Classes & Objects

Java supports object-oriented programming using classes and instances.

class Person {
    String name;
    Person(String name) {
        this.name = name;
    }
    void greet() {
        System.out.println("Hi, I'm " + name);
    }
}

Person p = new Person("Alice");
p.greet();