Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

1.1. Введение в Java

Материалы

ТипСсылка
Документссылка
Видеоссылка

Добро пожаловать в мир Java! Если вы слышали о Java но не знаете с чего начать, или просто хотите понять что это такое - вы в правильном месте.

Что такое Java?

Java - это одновременно язык программирования и платформа. Да, сразу две вещи в одной! Давайте разберёмся что это значит.

Java как язык программирования

Java - это высокоуровневый язык, созданный быть:

  • Простым - легче чем C++, но мощным
  • Объектно-ориентированным - всё вращается вокруг объектов
  • Безопасным - множество проверок защищают от ошибок
  • Надёжным - сборщик мусора управляет памятью за вас
  • Переносимым - “напиши один раз, запускай везде”
  • Многопоточным - встроенная поддержка параллелизма
  • Быстрым - современные JVM очень оптимизированы

Java как платформа

Обычная платформа - это комбинация операционной системы и оборудования. Java платформа другая - это программная платформа поверх обычных платформ.

Java платформа состоит из двух компонентов:

  1. Java Virtual Machine (JVM) - виртуальная машина, которая запускает ваш код
  2. Java API - огромная библиотека готовых компонентов

Как работает Java?

В отличие от языков вроде C, Java работает по-особенному:

Процесс разработки

                ┌─────────────────┐
                │  MyProgram.java │  ← Исходный код (текстовый файл)
                └────────┬────────┘
                         │
                    [компиляция]
                    javac компилятор
                         │
                         ▼
                ┌─────────────────┐
                │ MyProgram.class │  ← Байт-код (не машинный код!)
                └────────┬────────┘
                         │
                    [выполнение]
                    java launcher
                         │
                         ▼
                    ┌────────┐
                    │   JVM  │  ← Виртуальная машина
                    └────┬───┘
                         │
                         ▼
                  Ваша программа работает!

Три ключевых шага:

1. Пишете код

Создаёте файл с расширением .java и пишете код:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Привет, мир!");
    }
}

2. Компилируете

Компилятор javac превращает ваш код в байт-код:

javac HelloWorld.java

Это создаёт файл HelloWorld.class с байт-кодом.

Важно: Байт-код - это НЕ машинный код вашего процессора! Это специальный промежуточный код для JVM.

3. Запускаете

JVM запускает байт-код:

java HelloWorld

И видите:

Привет, мир!

“Напиши один раз, запускай везде”

Вот в чём магия Java! Тот же самый .class файл работает на:

  • Windows
  • macOS
  • Linux
  • И многих других платформах
    HelloWorld.class (один файл байт-кода)
           │
           ├─────────────┬─────────────┬─────────────┐
           │             │             │             │
           ▼             ▼             ▼             ▼
      JVM Windows   JVM macOS    JVM Linux    JVM Android
           │             │             │             │
           ▼             ▼             ▼             ▼
    Работает везде одинаково!

Компилируете один раз, запускаете везде. Не нужно перекомпилировать под каждую платформу!

Что такое JVM?

Java Virtual Machine - это “компьютер внутри компьютера”. Это программа, которая:

  1. Загружает ваш байт-код
  2. Проверяет его на безопасность
  3. Выполняет его
  4. Оптимизирует горячие участки кода прямо во время работы

Современные JVM (как HotSpot) очень умные:

  • Находят узкие места производительности
  • Компилируют часто используемый код в машинный код
  • Управляют памятью (сборщик мусора)
  • Делают вашу программу быстрой

Интересный факт: JVM может запускать не только Java! Kotlin, Scala, Groovy, Clojure - все они компилируются в байт-код JVM.

Java API: ваш швейцарский нож

Java поставляется с огромной стандартной библиотекой - Java API. Это тысячи готовых классов для всего:

  • java.lang - базовые классы (String, Math, System)
  • java.util - коллекции, дата/время
  • java.io - работа с файлами
  • java.net - сетевое программирование
  • java.awt / javax.swing - графические интерфейсы
  • javafx - современный UI
  • И многое другое!

Вместо того чтобы писать всё с нуля, вы используете готовые компоненты:

import java.util.ArrayList;
import java.util.List;

List<String> names = new ArrayList<>();
names.add("Анна");
names.add("Боб");
names.add("Карл");

for (String name : names) {
    System.out.println("Привет, " + name);
}

Всё уже написано за вас!

Почему Java популярна?

1. Простота изучения

Хотя Java мощная, она проще чем C++:

  • Нет указателей (и утечек памяти!)
  • Автоматическая сборка мусора
  • Меньше сложных концепций

2. Пиши меньше кода

Java код обычно в 4 раза короче аналогичного C++ кода. Меньше кода = меньше ошибок!

// Java - кратко и ясно
String message = "Hello";
System.out.println(message.toUpperCase());

// На C++ это было бы сложнее

3. Объектно-ориентированное программирование

Всё в Java - объект (почти). Это помогает организовать код:

class Dog {
    private String name;
    
    public Dog(String name) {
        this.name = name;
    }
    
    public void bark() {
        System.out.println(name + " говорит: Гав!");
    }
}

Dog myDog = new Dog("Шарик");
myDog.bark();  // Шарик говорит: Гав!

4. Надёжность

Java заботится о безопасности:

  • Строгая типизация ловит ошибки при компиляции
  • Автоматическое управление памятью
  • Проверка границ массивов
  • Обработка исключений встроена в язык

5. Огромное сообщество

  • Миллионы разработчиков по всему миру
  • Тысячи библиотек и фреймворков
  • Много вакансий
  • Куча обучающих материалов

Где используется Java?

Java везде! Вот несколько примеров:

Веб-приложения (Backend)

  • Spring Boot - самый популярный Java фреймворк
  • Amazon, Netflix, LinkedIn используют Java

Мобильные приложения

  • Android - большинство приложений написано на Java/Kotlin

Корпоративные системы

  • Банки, страховые компании
  • Системы управления предприятием

Big Data

  • Hadoop, Apache Spark написаны на Java
  • Обработка терабайтов данных

Встроенные системы

  • Смарт-карты
  • Телевизионные приставки
  • IoT устройства

Desktop приложения

  • IntelliJ IDEA (лучшая IDE для Java)
  • Minecraft (написан на Java!)

Ваша первая программа

Давайте создадим классическую программу “Hello World”!

1. Создайте файл HelloWorld.java:

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

2. Скомпилируйте:

javac HelloWorld.java

Это создаст HelloWorld.class.

3. Запустите:

java HelloWorld

Вы увидите:

Hello, World!

Поздравляем! Вы только что написали, скомпилировали и запустили вашу первую Java программу!

Что происходит в коде?

Давайте разберём построчно:

public class HelloWorld {
  • public - класс доступен всем
  • class - объявляем класс
  • HelloWorld - имя класса (должно совпадать с именем файла!)
    public static void main(String[] args) {
  • public - метод доступен всем
  • static - метод принадлежит классу, а не объекту
  • void - метод ничего не возвращает
  • main - точка входа в программу
  • String[] args - параметры командной строки
        System.out.println("Hello, World!");
  • System.out - стандартный вывод
  • println - вывести строку и перейти на новую строку
  • "Hello, World!" - строка для вывода
    }
}

Закрывающие скобки для метода и класса.

Основные концепции (коротко)

Вот ключевые концепции, которые вы будете изучать:

1. Классы и объекты

class Car {
    String brand;
    
    void drive() {
        System.out.println(brand + " едет!");
    }
}

Car myCar = new Car();
myCar.brand = "Toyota";
myCar.drive();

2. Типы данных

int age = 25;           // целое число
double price = 19.99;   // число с плавающей точкой
String name = "Анна";   // строка
boolean isActive = true; // логическое значение

3. Управление потоком

if (age >= 18) {
    System.out.println("Взрослый");
} else {
    System.out.println("Ребёнок");
}

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

4. Методы

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

int result = add(5, 3);  // 8

5. Коллекции

List<String> fruits = new ArrayList<>();
fruits.add("Яблоко");
fruits.add("Банан");
fruits.add("Апельсин");

Java экосистема

Инструменты сборки

  • Maven - управление зависимостями и сборка проектов
  • Gradle - современная альтернатива Maven

Популярные фреймворки

  • Spring / Spring Boot - веб-приложения и микросервисы
  • Hibernate - работа с базами данных
  • JUnit - тестирование
  • JavaFX - графические интерфейсы

Важно: Java и JavaScript - это РАЗНЫЕ языки! Они похожи только названием.

Удачи в изучении Java!