Онлайн-компилятор Java: как запустить код в браузере

Онлайн-компилятор Java: как запустить код в браузере Полезное

Онлайн-компилятор Java — это веб-сервис, который принимает исходный код в окне браузера, компилирует и запускает его на своем сервере и возвращает вывод программы обратно на страницу. Устанавливать JDK на свой компьютер не нужно: достаточно открыть сайт, вставить код и нажать «Run».

Ниже — как такой сервис устроен на самом деле, первый рабочий пример, который можно скопировать и запустить, обзор популярных онлайн-компиляторов с подсказкой, когда какой брать, границы применимости и типичная ошибка новичка с именем класса. Инструменты и версии проверены на 16.09.2026.

Как это работает: код в браузере, запуск на сервере

Важная деталь, которую редко проговаривают: браузер сам код на Java не исполняет. В браузере работает только JavaScript и WebAssembly, а Java-программе нужна виртуальная машина JVM. Поэтому онлайн-компилятор действует иначе.

Цепочка простая: вы набираете исходник в текстовом поле, сервис отправляет его на сервер, там код компилируется компилятором javac в байт-код и запускается на JVM, а консольный вывод возвращается обратно и показывается под редактором. «Запуск в браузере» — это про удобный интерфейс, а не про место выполнения.

Из этого следует пара выводов. Программа выполняется в чужой временной среде: файлы, которые она создаст, и введенные данные там не сохраняются между запусками. И код уходит на сторонний сервер — для учебных примеров это нормально, для рабочего или закрытого кода лучше локальная среда.

Три близких понятия удобно различать сразу:

  • онлайн-компилятор — минимальное поле для кода и кнопка запуска, показывает вывод и ошибки;
  • онлайн-IDE — то же плюс несколько файлов, подсветка, автодополнение, иногда отладчик;
  • песочница (playground) — площадка, чтобы быстро проверить идею и поделиться ссылкой на код.

Граница между ними размытая: многие сервисы совмещают все три роли.

Быстрый старт: первый код за минуту

Откройте любой онлайн-компилятор Java (конкретные сервисы — в следующем разделе), сотрите пример по умолчанию и вставьте эту программу целиком. Дальше разберем ее по частям.

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

После нажатия «Run» под редактором появится ровно одна строка:

Hello, Otus!

Если вы это увидели — сервис работает, и код запустился. Что здесь что:

  • public class Main — объявление класса. У онлайн-компиляторов исходник почти всегда сохраняется в файл Main.java, поэтому публичный класс должен называться именно Main (об этом — в разделе про ошибку).
  • public static void main(String[] args) — точка входа. С этого метода начинается выполнение любой Java-программы.
  • System.out.println(...) — вывод строки в консоль с переводом строки в конце. Текст для вывода пишут в двойных кавычках.

Добавим переменные, чтобы программа стала чуть содержательнее. Данные заданы прямо в коде, поэтому результат предсказуем и его можно сверить.

public class Main {
    public static void main(String[] args) {
        String name = "Мария";
        int year = 2026;
        System.out.println("Привет, " + name + "!");
        System.out.println("Первый код на Java запущен в " + year + " году.");
    }
}

Вывод:

Привет, Мария!
Первый код на Java запущен в 2026 году.

Оператор + со строкой соединяет текст и значения переменных: число year автоматически приводится к тексту при сцеплении со строкой.

Как читать ввод пользователя

По умолчанию онлайн-компилятор запускает программу без интерактивной консоли. Если код ждет ввод через Scanner, данные нужно заранее вписать в отдельное поле — оно обычно называется STDIN, Input или «Ввод» и находится рядом с окном вывода.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Как вас зовут? ");
        String name = scanner.nextLine();
        System.out.println("Привет, " + name + "!");
    }
}

Если в поле ввода заранее написать Отус, программа выведет:

Как вас зовут? Привет, Отус!

Приглашение и ответ оказались в одной строке, потому что System.out.print (без ln) не переводит строку после приглашения. Это нормально: в онлайн-компиляторе ваш ввод не печатается в консоли по мере набора, как в обычном терминале, — он берется целиком из поля STDIN.

Популярные онлайн-компиляторы Java

Сервисов много, и все они универсальные: кроме Java поддерживают C, C++, Python, PHP, JavaScript и десятки других языков — язык выбирается в списке. Ниже — проверенные на 16.09.2026 варианты и подсказка, когда какой удобнее.

Сервис Что удобно Когда брать
JDoodle Быстрый запуск, поле ввода STDIN, выбор версии JDK, обмен ссылкой Быстро проверить фрагмент и скинуть код другому
OnlineGDB Онлайн-компилятор с отладчиком (точки останова, пошаговый проход) Когда надо не просто запустить, а найти ошибку в логике
Programiz Простой интерфейс, темная тема, встроенные примеры Для самых первых шагов и учебных примеров
Tutorialspoint Компилятор рядом с обучающими материалами по Java Когда код проверяют по ходу чтения теории
mycompiler.io Чистый минималистичный редактор с полем ввода Когда нужен один экран без лишних панелей

Универсального «лучшего» сервиса нет: для первой программы подойдет любой из списка, а выбор дальше зависит от задачи — быстрый прогон, отладка или обучение. Многие из них поддерживают выбор версии JDK, вплоть до актуальных: на сентябрь 2026 последняя версия с долгой поддержкой (LTS) — Java 25, предыдущая LTS — Java 21.

Что можно и чего нельзя

Онлайн-компилятор закрывает учебные и быстрые задачи, но у него есть границы. Держать их в голове полезно, чтобы не искать несуществующую кнопку.

  • Подходит: проверить синтаксис, прогнать небольшой пример, разобрать учебную задачу, быстро показать код другому по ссылке.
  • Ограниченно: ввод через STDIN работает, но интерактивного диалога «вопрос — ответ — снова вопрос», как в терминале, обычно нет — ввод задается заранее.
  • Не подходит: проекты из многих файлов и библиотек, работа с локальными файлами и сетью, приложения с графическим интерфейсом (Swing, JavaFX), долгие вычисления — на публичных сервисах есть лимит по времени работы.

Для реальной разработки Java по-прежнему ставят JDK и среду разработки локально: IntelliJ IDEA, Eclipse или VS Code с расширениями. Онлайн-компилятор — это удобный вход и площадка для быстрых проб, а не замена полноценной среды.

Типичная ошибка новичка: имя публичного класса

Самый частый затык в онлайн-компиляторе связан не с логикой, а с именем класса. В Java публичный класс должен лежать в файле с тем же именем. Онлайн-сервисы почти всегда сохраняют код в файл Main.java, поэтому публичный класс обязан называться Main.

Стоит переименовать класс, оставив его публичным, — и код не компилируется:

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hi");
    }
}

Фактический вывод (сервис сохранил код как Main.java):

Main.java:1: error: class Hello is public, should be declared in a file named Hello.java
public class Hello {
       ^
1 error

Компилятор прямо говорит: публичный класс Hello должен лежать в файле Hello.java, а файл называется Main.java. Исправлений два. Первое — вернуть классу имя Main:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hi");
    }
}

Второе — убрать модификатор public у класса: непубличный класс не обязан совпадать по имени с файлом, и код class Hello { ... } тоже соберется. Точный текст ошибки и требование к имени файла зависят от того, как сервис называет файл; у большинства это Main.java, поэтому имя Main — самый надежный вариант.

Выводы

  • Онлайн-компилятор Java запускает код не в браузере, а на своем сервере: браузер лишь отправляет исходник и показывает вывод.
  • Для первого запуска достаточно класса Main с методом main и вывода через System.out.println — никакой установки JDK.
  • Ввод для Scanner задают заранее в отдельном поле STDIN, а не печатают в консоли по ходу.
  • Публичный класс на онлайн-сервисе должен называться Main, иначе компиляция падает с ошибкой про имя файла.
  • Сервис выбирают под задачу: JDoodle — быстрый прогон, OnlineGDB — отладка, Programiz и Tutorialspoint — обучение.
  • Для проектов с файлами, библиотеками, сетью или интерфейсом нужна локальная среда, а не онлайн-компилятор.

Где применять на практике

Онлайн-компилятор — удобный вход в Java: на нем можно разобрать синтаксис, прогнать задачи с курса или собеседования и не отвлекаться на установку окружения. Но по мере роста проектов появляются несколько файлов, внешние библиотеки, сборка через Maven или Gradle и отладка — и тогда без локальной среды и системного понимания языка уже не обойтись.

Освойте тему на практике

Пройти путь от первых строк в браузере до настоящих проектов системно, с проверкой кода практикующими разработчиками, помогает курс Обучение Java-разработчика с нуля: он ведет от базового синтаксиса к самостоятельным программам.

Освойте тему на практике

Посмотреть, как разбирают такие темы вживую, и задать вопросы преподавателям можно на открытых вебинарах Otus — они бесплатные и проходят регулярно.

Смежные темы: Компиляторы: назначение и виды, Как обновить версию Java, Где писать программный код: список приложений.

FAQ

Нужно ли регистрироваться, чтобы запустить код? Для разового запуска обычно нет: код вставляют и жмут «Run» без аккаунта. Регистрация нужна, только чтобы сохранять свои проекты и получать постоянные ссылки на них.

Можно ли на онлайн-компиляторе выбрать версию Java? На части сервисов да — версия JDK выбирается в настройках, вплоть до актуальных LTS (Java 21 и Java 25). Если выбора нет, сервис использует свою версию по умолчанию, и это стоит учитывать для новых возможностей языка.

Безопасно ли вставлять туда рабочий код? Код уходит на сторонний сервер, поэтому закрытый или коммерческий код в публичный онлайн-компилятор лучше не вставлять. Для учебных примеров рисков нет, а для рабочих задач надежнее локальная среда.

OTUS Журнал
Скидка 5% 14-20 сентября на курсы (popup)