Глиф Учебники

Java

Программирование · 10 уроков · 18 справок · итоговый тест

Java с нуля для студентов и новичков: установка JDK, первая программа, переменные, ввод и вывод, условия, циклы, массивы, строки, методы, классы, наследование и интерфейсы.

Java (читается «джава») — язык программирования общего назначения. Его создали в компании Sun Microsystems под руководством Джеймса Гослинга, первая версия вышла в 1995 году. С 2010 года язык развивает Oracle вместе с сообществом OpenJDK. Сначала язык назывался Oak, а имя Java получил в честь кофе с острова Ява.

Программа на Java компилируется не в машинный код, а в байт-код — команды для виртуальной машины Java (JVM, Java Virtual Machine). Виртуальная машина есть для Windows, Linux и macOS, поэтому один и тот же скомпилированный файл запускается на любой из них. Отсюда старый девиз языка: «написано однажды — работает везде».

Где применяется

Java часто изучают в университетах и колледжах первым «настоящим» языком: в нём строгие правила, явные типы и классы с первого урока, а знания потом легко переносятся на Kotlin, C# и другие языки.

Версии

Новая версия Java выходит дважды в год, в марте и сентябре. Раз в два года выходит версия LTS (Long Term Support — долгая поддержка), её обновляют много лет: Java 17 (2021), Java 21 (2023), Java 25 (2025). Для учёбы и работы берите LTS. Курс написан для Java 17 и новее: все примеры работают в 17, 21 и более свежих версиях.

Что нужно для начала

Как всё поставить, рассказывает первый урок, а подробно — справка Как установить JDK и прописать JAVA_HOME.

Как пройти курс

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

В справочнике — короткие ответы на частые вопросы: что значат ошибки NullPointerException и Could not find or load main class, почему строки сравнивают через equals, как пользоваться ArrayList и HashMap, как собрать jar-файл.

Java и JavaScript — разные языки, похожи у них только названия; чем они отличаются, рассказывает справка Чем Java отличается от JavaScript.

Курс с нуля

  1. 1.Установка JDK и первая программаЧто такое JDK и JVM, где взять Java, как написать первую программу, скомпилировать её командой javac, запустить командой java и в IntelliJ IDEA.
  2. 2.Переменные и типы данныхКак объявить переменную в Java, какие бывают типы (int, long, double, char, boolean, String), как считать, почему 7 / 2 даёт 3 и как переводить значения из типа в тип.
  3. 3.Ввод и выводКак вывести текст и числа через print, println и printf, как прочитать с клавиатуры число, слово и строку через Scanner и чем опасен nextDouble при русских настройках.
  4. 4.Условия: if, else и switchКак программа на Java выбирает, что делать: if, else if и else, сравнения и логические операции, тернарный оператор, switch в старой записи и со стрелками.
  5. 5.Циклы for, while и do-whileКак повторять действия в Java: цикл for со счётчиком, while и do-while по условию, break и continue, вложенные циклы и типичные ошибки — бесконечный цикл и лишняя итерация.
  6. 6.МассивыКак создать массив в Java, обратиться к элементу по индексу, пройти массив циклом, вывести его через Arrays.toString, отсортировать, скопировать и сделать двумерный массив.
  7. 7.Строки: String и StringBuilderКак работать со строками в Java: длина, символ по номеру, substring, indexOf, replace, split, сравнение через equals, почему строку нельзя изменить и когда нужен StringBuilder.
  8. 8.МетодыКак написать свой метод в Java: параметры, return и void, перегрузка, область видимости переменных, почему метод не меняет переданное число, но меняет массив, и рекурсия.
  9. 9.Классы и объектыЧто такое класс и объект в Java: поля, методы, конструктор и this, создание объектов через new, инкапсуляция с private и геттерами, метод toString.
  10. 10.Наследование и интерфейсыКак в Java один класс наследует другой через extends, что делают super и @Override, что такое полиморфизм, абстрактный класс и интерфейс с implements.

Начать с первого урока

Итоговый тест — 18 вопросов по всему курсу, ответы проверяются сразу.

Справочник

Официальная документация