Язык программирования Java. Базовый уровень

Курс посвящен изучению основ языка Java и разработке приложений на платформе Java SE. Курс знакомит с концепциями объектно-ориентированного программирования, построением Java приложений.

Рассматривается синтаксис языка программирования Java, особенности объектно-ориентированного программирования на языке Java; обработка исключений, файловый ввод/вывод с использованием базового I/O, а также написание многопоточных программ
 
Курс включает вопросы построения Java приложений, в том числе и основы функционального программирования, введенными в версии Java 8.
 
Лабораторные работы выполняются в командной строке и с использованием интегрированной среды разработки NetBeans.
 
Обучения по программе курса позволит вам:
  • создавать объектно-ориентированные Java приложения,
  • использовать техники построения многопоточных ООП приложений,
  • применять базовые методы функционального программирования Java 8.

Целевая аудитория

  • Разработчики приложений на языке Java
  • Разработчики приложений на платформе Java EE

Необходимая подготовка

Опыт в разработке программ с использованием какого-либо современного языка программирования.

Программа курса

1. Краткое описание особенностей языка Java

Изменения Java 7
Особенности архитектуры языка Java
Верификация кода
Загрузчик классов
Виртуальная Java машина (JVM)

2. Инсталляция Java Development Kit (JDK). Написание, компиляция и выполнение простой программы

Инсталляция Java Development Kit (JDK)
Написание простой программы
Компиляция и выполнение программы

3. Лексические структуры языка. Примитивные типы данных. Декларация и инициализация переменных. Основные типы операторов

Идентификаторы, переменные, комментарии
Примитивные типы данных
Декларация переменных
Числовые литералы
Двоичные литералы и групповые разделители в целочисленных литералах
Символьные литералы
Двоичные литералы (Binary Literals)
Строковые литералы
Арифметические операции и выражения
Операции сравнения
Операторы

4. Операторы управления и операторы циклического выполнения

Конструкция if-else
Оператор-переключатель switch
Оператор break
Оператор цикла while
Оператор цикла for
Оператор continue

5. Массивы

Одномерные массивы
Двухмерные массивы

6. Конструирование классов. Концепция пакетов

Принципы Объектно-ориентированное программирования (ООП)
Вызов методов
Конструктор
Пакеты

7. Инкапсуляция. Некоторые особенности методов и конструкторов

Инкапсуляция
Модификаторы доступа
Область видимости переменных
Перегрузка методов

8. Наследование и полиморфизм

Классы и интерфейсы
Базовый синтаксис описания класса
Абстрактные классы

9. Дополнительные особенности работы с классами

Статические переменные и методы
Явная инициализация static атрибутов
Обращение из статических методов к нестатическим атрибутам
Конструирование и инициализация экземпляров класса
Классы, методы и переменные с модификатором final

10. Интерфейсы, внутренние классы

Интерфейсы
Внутренние классы
Статические внутренние классы
Локальные внутренние классы
Анонимные внутренние классы

11. Исключения (Exceptions) и утверждения (Assertions)

Типы исключений
Синтаксис блока обрабатывающего исключения
Создание исключений приложения
Перехват нескольких исключений в одном catch блоке
Перехват и повторное выбрасывание исключения
Утверждения (Assertions)
Синтаксис и примеры утверждений

12. Дженерики, строки, классы оболочки, регулярные выражения

Дженерики. Типизированные (generic) классы и методы.
Некоторые особенности класса java.lang.String
Классы оболочки
Регулярные выражения

13. Коллекции

Классификация коллекций
Особенности использования коллекций в версиях до Java SE5
Итеративный просмотр коллекций
Сортировка и коллекции

14. Ресурсы, интернационализация, форматирование

Как Java представляет символы
Места действия программы с географической точки зрения
Класс java.util.Locale
Класс ResourceBundle
Классы, связанные с локализацией
Форматирование дат
Особенности чтения и записи текстовых файлов с точки зрения их кодировки.

15. Ввод/вывод

Потоковые абстракции и типы потоков
Базовые классы ввода и вывода
Байтовые потоки ввода
Чтение из файла
Класс FilterInputStream и его субклассы
Паттерн "декоратор" в системе классов ввода/вывода
Байтовые потоки вывода
Стандартный вывод
Запись в файл двоичных данных
Запись в текстовый файл
Класс File

16. Введение в функциональное программирование с использованием средств Java 8

Функциональное программирование
Лямбда выражения.
Внутренняя итерация в Java 8
Механизм обработки данных потока.
Ссылки на методы
Типовые операции Stream и интерфейс Predicate

17. Некоторые особенности ввода/вывода с использованием NIO 2 и Stream

Path — основа файлового ввода-вывода
Основные классы файлового ввода-вывода NIO.2
Получение информации о пути
Потоки строк
Поточная работа с директориями
Чтение файлов и запись в файлы
Создание файлов и директорий
Копирование, перемещение и удаление файлов

18. Параллельное выполнение, многопоточность

Параллельная работа
Класс Thread
Планировщик
Объектные блокировки, синхронизация и мониторы
Прерывание работы потока
Приоритеты потоков
Ожидание ресурсов
Взаимные блокировки

19. Некоторые дополнительные особенности параллельного выполнения. Интерфейс Lock, классы ReentrantLock и Condition. Потокобезопасные коллекции.

Класс ReentrantLock
Объекты условий
Поля, имеющие модификатор volatil
Блокировки чтения/записи
Блокирующие очереди
Коллекции безопасные при работе нескольких потоков
Проверка блокировок и таймауты
Группы потоков, класс Executors
Интерфейсы Callable и Future

20. Введение в механизм рефлексии (Reflection)

Загрузка класса по имени
Получение метаинформации
Динамическое изменение значений полей

21. Аннотации

Семантика и синтаксис аннотаций
Правила сохранения
Аннотации маркеры
Встроенные аннотации

Документы об окончании курса

  • Сертификат Учебного центра Noventiq
  • Cертификат об обучении установленного образца

Certificate Noventiq Education Belarusсертификат об обучении установленного образца

Оставить отзыв

Информация о курсе

1350 BYN

с учетом НДС 20%

Вендор: Python, Java, JavaScript
Код курса: AIT-B102
Продолжительность: 5 дней / 40 ак. часов
Направление: Java
Форма обучения:

под руководством инструктора

Записаться на курс

Название курса и комментарии*

Имя*

Фамилия*

Отчество*

Компания

Телефон*

Email*

Настоящим, в соответствии с ч.2.ст.18 Закона Республики Беларусь от 10.11.2008 N 455-З(ред. от 11.05.2016) "Об информации, информатизации и защите информации" и Законом Республики Беларусь от 7 мая 2021 г. № 99-З «О защите персональных данных», отправляя данную форму, вы подтверждаете свое согласие на сбор, обработку и хранение ООО «СофтЛайнБел» Ваших персональных данных. ООО «СофтЛайнБел» гарантирует конфиденциальность получаемой от Вас информации. Сбор, обработка и хранение персональных данных осуществляется в целях эффективного оказания услуг и исполнения договоров.

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