arrow-left Back to Blog

Набор на курс "Java"


Main image of the post

 Java  - это безопасный, переносимый, высокопроизводительный и динамичный язык. Кроме того, его легко освоить любому, кто понимает принципы объектно-ориентированного программирования (ООП). Это самый популярный язык для разработки корпоративных проектов. Java  - это основа очень многих видов сетевых приложений. Java может использоваться для создания и веб и Android приложений, игр и корпоративного программного обеспечения. Во многих больших корпорациях мировым стандартом был признан именно Java.

Java работает на всех платформах: Windows, Mac и Linux.

Java - главный язык создания нативных приложений для Android. Этот язык имеет широкую сферу применения: от SIM-карт до сложных навигационных систем и медицинского оборудования. Его можно использовать для искусственного интеллекта, машинного обучения, блокчейна, RSS-каналов и обычных Web-приложений.

 

Программа:

Тема 1. Введение в язык программирования Java.

  • Язык программирования Java. 
  • Особенности Java.
  • Технологии Java: SE, EE, ME, JavaFX, JRE и др. - назначение и состав.
  • Установка Java. 

 

Тема 2. Первая программа на Java.

  • Структура программы.
  • Область подключения внешних пакетов (imports).
  • Область написания кода (кратко об объявлении класса, полей, методов, комментарии).
  • IDE IntelliJ IDEA (установка, настройка, первая программа в IntelliJ IDEA).

 

Тема 3. Основы программирования на Java.

  • Системы счисления (двоичная, восьмеричная, десятичная, шестнадцатиричная).
  • Перевод из одной системы счисления в другую.
  • Типы данных и переменные.
  • Базовые типы.
  • Ссылочные типы.
  • Объявление переменных.
  • Использование суффиксов.
  • Символы и строки.
  • Константы.
  • Преобразования базовых типов данных.
  • Потеря данных при преобразовании.
  • Усечение рациональных чисел до целых.
  • Преобразования при операциях.
  • Операции языка Java.
  • Арифметические операции.
  • Логические операции над числами.
  • Операции сдвига.
  • Операции сравнения.
  • Операции присваивания.
  • Приоритет операций.
  • Массивы.
  • Одномерные массивы.
  • Многомерные массивы.
  • Массив массивов
  • Работа с массивами и класс Arrays(Копирование массивов, Сортировка).
  • Условные конструкции.
  • Конструкция if/else.
  • Конструкция switch.
  • Тернарная операция.
  • Циклы.
  • Цикл for и foreach.
  • Перебор многомерных массивов в цикле.
  • Цикл do.
  • Цикл while.
  • Операторы continue и break.
  • Методы.
  • Использование методов в программе.
  • Передача параметров в методы.
  • Перегрузка методов.
  • Параметры переменной длины.
  • Рекурсивные функции.
  • Консольный ввод/вывод в Java.
  • Вывод на консоль.
  • Консольный ввод.
  • Проблема с кириллическими символами.
  • Введение в обработку исключений.
  • Что такое исключительная ситуация.
  • Класс Exception.
  • Обработка исключения.
  • Обработка нескольких исключений.
  • Оператор throw.

 

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

  • Классы и объекты.
  • Создание объекта.
  • Инициализаторы.
  • Программа с классами.
  • Создание классов в IDE Eclipse.
  • Пакеты.
  • Импорт пакетов и классов.
  • Статический импорт.
  • Модификаторы доступа (public, package friendly, protected, private) и инкапсуляция.
  • Парадигма Инкапсуляция.
  • Использование статических членов и модификатора static.
  • Использование объектов в качестве параметров методов.
  • Использование ключевого слова super в наследовании и полиморфизме.
  • Парадигма Наследование.
  • Парадигма Полиморфизм.
  • Ключевое слово super.
  • Запрет наследования.
  • Абстрактные классы.
  • Иерархия наследования, а также преобразование типов.
  • Внутренние классы.
  • Определение статических классов, а также внутренние классы.
  • Интерфейсы.
  • Использование интерфейсов в преобразовании типов.
  • Методы по умолчанию.
  • Статические методы.
  • Дополнительно об интерфейсах.
  • Вложенные интерфейсы.
  • Механизм обратного вызова и его интерфейсы.
  • Перечисления enum.
  • Класс Object и его методы.
  • Метод toString.
  • Метод hashCode.
  • Получение типа объекта и метод getClass.
  • Метод equals.
  • Обобщенные (Generics) типы и методы.
  • Наследование классов и обобщение.
  • Базовый обобщенный класс.
  • Обобщенный класс-наследник.
  • Преобразование обобщенных типов.
  • Особенности ссылочных типов и их клонирование объектов.

 

Тема 5. JavaFX.

  • Введение в JavaFX. Что такое JavaFX?
  • Разработка приложений JavaFX. Общие сведения.
  • Настройка и подготовка к работе.
  • Создание и запуск проекта JavaFX.
  • Проектирования пользовательского интерфейса. Приложение Scene Builder.
  • Структурирование приложения. MVC.
  • Логика приложений JavaFX.
  • Коллекция ObservableList.
  • Компонент TableView.
  • Создание пользовательских всплывающих диалогов.
  • Использование объектов.
  • Привязка данных и триггеры.
  • Драйверы, соединения, запросы.
  • Контроль доступа.
  • Транзакции.
  • Параллельность в JavaFX.
  • Данные приложения. XML.
  • Дизайн приложения JavaFX. CSS.
  • Использование конструктора сцен в IDE NetBeans.
  • Работа с макетами в JavaFX.
  • Работа с графом сцены JavaFX.
  • Эффекты, анимация и медиакомпоненты JavaFX.
  • Создание визуальных эффектов в JavaFX.

 

Тема 6. Обработка исключений.

  • Оператор throws.
  • Классы исключений.
  • Создание своих классов исключений.

 

Тема 7. Коллекции.

  • Введение в коллекции в Java.
  • Интерфейс Collection.
  • Класс ArrayList и интерфейс List.
  • Класс LinkedList.
  • Класс HashSet.
  • Класс TreeSet.
  • Интерфейсы Comparable и Comporator. Сортировка.
  • Очереди и класс ArrayDeque.
  • Интерфейс Queue.
  • Интерфейс Deque.
  • Класс ArrayDeque.
  • Отображения и класс HashMap.
  • Классы отображений.
  • Класс TreeMap.
  • Итераторы

 

Тема 8. Потоки ввода-вывода. Работа с файлами.

  • Потоки ввода-вывода.
  • Потоки байтов.
  • Класс InputStreamКласс OutputStream.
  • Класс OutputStream.
  • Абстрактные классы Reader и Writer.
  • Приемы закрытия потоков.
  • Чтение и запись файлов. FileInputStream и FileOutputStream.
  • Чтение файлов и класс FileInputStream.
  • Запись файлов и класс FileOutputStream.
  • Классы ByteArrayInputStream и ByteArrayOutputStream.
  • Чтение массива байтов и класс ByteArrayInputStream.
  • Запись массива байт и класс ByteArrayOutputStream.
  • Буферизуемые потоки. Классы BufferedInputStream и BufferedOuputStream.
  • Класс BufferedInputStream.
  • Класс BufferedOutputStream.
  • Использование классов PrintWriter и PrintStream.
  • Классы DataOutputStream и DataInputStream.
  • Запись данных и DataOutputStream.
  • Считывание данных и DataInputStream.
  • Работа с файлами (чтение, а также запись). FileReader и FileWriter.
  • Использование класса FileWriter для записи файла.
  • Использование класса FileReader для чтения файла.
  • Буферизируемые символьные потоки. BufferedWriter и BufferedReader.
  • Считывание текста и BufferedReader.
  • Записывание текста и BufferedWriter.
  • Считывание с консоли в файл.
  • Сериализация объектов.
  • Интерфейс Serializable.
  • Сериализация/Десериализация. Класс ObjectOutputStream.
  • Использование класса File. Приемы работа с файлами и каталогами.
  • Работа с ZIP-архивами

 

Тема 9. Работа со строками.

  • Введение в строки. Возможности класса String.
  • Основные методы класса String.
  • Выполнение основных операций при работе со строками.
  • Соединение строк (конкатенация).
  • Извлечение символов и подстрок.
  • Сравнение строк.
  • Поиск в строке.
  • Замена в строке.
  • Обрезка строки.
  • Изменение регистра.
  • Классы StringBuffer и StringBuilder.
  • Получение и установка символов.
  • Добавление в строку.
  • Удаление символов.
  • Обрезка строки.
  • Изменение длины.
  • Замена в строке.
  • Обратный порядок в строке.
  • Использование регулярных выражений.
  • Класс Matcher.
  • Замена в строке.
  • Разделение строки на лексемы.

 

Тема 10. Многопоточное программирование.

  • Класс Thread.
  • Недостатки при использовании потоков.
  • Создание и завершение потоков.
  • Наследование от класса Thread.
  • Реализация интерфейса Runnable.
  • Завершение потока.
  • Синхронизация потоков. Оператор synchronized.
  • Взаимодействие потоков. Задача «Producer-Consumer».
  • Методы wait и notify.
  • Блокировки. ReentrantLock.
  • Условия в блокировках.
  • Семафоры.
  • Обмен между потоками. Класс Exchanger.
  • Пулл потоков (Thread pool).
  • Класс Phaser.

 

Тема 11. Лямбда-выражения (optional).

  • Введение в лямбда-выражения.
  • Отложенное выполнение.
  • Передача параметров в лямбда-выражение.
  • Терминальные лямбда-выражения.
  • Лямбды и локальные переменные.
  • Блоки кода в лямбда-выражениях.
  • Обобщенный функциональный интерфейс.
  • Лямбды как параметры методов и ссылки на методы.
  • Ссылки на метод как параметры методов.
  • Ссылки на конструкторы.
  • Встроенные функциональные интерфейсы.
  • Predicate.
  • BinaryOperator.
  • UnaryOperator.
  • Function<T,R>.
  • Consumer.
  • Supplier.

 

Тема 12. Итоги и перспективы.

  • Как эффективно искать работу.
  • Установление связей (Нэтворкинг).
  • Перспективы карьерного роста.

 

ТРЕБОВАНИЯ К КАНДИДАТАМ

  • базовые навыки программирования с использованием любого объектно-ориентированного языка;
  • возможность непрерывно участвовать в процессе обучения и своевременно выполнять все практические задания;
  • наличие достаточного количества свободного времени для посещения занятий и для самостоятельной работы;
  • возможность выполнять домашние задания;
  • English Pre-Intermediate+;
  • коммуникабельность.

Share

Read more

Contact us

Send us a few words about your project

+31 641039634 team@mifort.org

Netherlands, Amsterdam, 74-2 Albert Cuypstraat

View on map

Belarus, Minsk, Romanovskaya Sloboda 5

View on map