Продолжается работа факультатива «Современный компьютерный инструментарий интеллектуальной деятельности». Первое занятие в этом семестре состоится 7 октября (воскресенье) в аудитории 201. Начало занятий в 12 – 00.
В программе занятий изучение основ языка программирования Java. Приглашаются все желающие!
Подтвердить свое участие можно пройдя по ссылке. Занятия проводит аспирант кафедры мат. моделирования Деркун Александр Викторович.
Java – кроссплатформенный язык программирования. Принципы Java – простота, переносимость кода и безопасность. Благодаря наличию большого количества библиотек и классов, на этом языке пишутся различные настольные приложения, веб-приложения, мобильные приложения. В курсе даётся детальный обзор платформы Java Standard Edition 9 (Java SE9). Каждое занятие включает в себя теорию, и практику.
Программа занятий
1. Возможности Java. Язык Java в ООП. Примитивные типы. Целые числа. Тип byte, тип short, тип int, тип long. Числа с плавающей точкой, тип float, тип double. Целочисленные, символьные, строковые литералы. Объявление переменных, динамическая инициализация, срок и области действия переменных. Правила продвижения типов. Управляющие операторы. Операторы выбора. Условный оператор if и оператор switch. Операторы цикла. Цикл while, do-while, цикл for. О вложенных циклах. Операторы перехода. Применение операторов break, continue, return и goto.
2. Массивы. Одномерные и многомерные массивы. Применение массивов. Операции и операции с массивами. Арифметические, поразрядные операции, операции отношения, логические операции, операция присваивания, предшествование операций. Класс String и основные методы. Сложение и преобразование строк. Класс Scanner.
3. Регулярные выражения. Обзор основных концепций ООП. Общая форма класса. Объявление объектов. Оператор new. Присваивание переменных ссылок на объекты. Методы. Метод принимающий параметры. Конструкторы. Параметризованный конструктор. This и сокрытие переменной экземпляра. Метод finalize() и класс Stack, статическое и динамическое заполнение. Сортировки.
4. Перегрузка методов и конструкторов. Объекты, как параметры. Аргумент и передача аргументов. Рекурсия. Модификаторы доступа. Вложенные и внутренние классы. Неоднозначность. Наследование. Суперкласс. Ключевое слово super. Иерархия в рамках наследования. Суперкласс и конструктор. Порядок вызова конструктора. Переопределенный метод. Назначение и использование переопределенных методов.
5. Интерфейсы. Объявление и реализация интерфейсов. Вложенные интерфейсы. Применение интерфейсов. Определение пакета, примеры пакета, импорт пакетов. Исключение, типы исключений и основы обработки исключений. Блоки операторов try и catch. Вложенные операторы try. Оператор try, оператор throws, оператор finally. Применение исключений.
6. Класс Thread и интерфейс Runnable. Потоки исполнения, приоритеты потоков и выбор создания потоков исполнения. Реализация интерфейса Runnable и расширение класса Thread. Оператор synchronized. Приостановка, возобновление и остановка потоков исполнения. Применение многопоточности. Перечисления в Java. Класс Enum. Оболочки типов. Классы Character и Boolean. Автоупаковка и автораспаковка. Модификаторы доступа transient, volatile, stricpfp. Оператор instanceof.
7. Обобщения. Простые примеры обобщений. Унаследованный код и базовые типы. Иерархия обобщенных классов. О сравнении типов в обобщенной иерархии. Приведение типов и переопределение методов в обобщенном классе. Ограничения в случае использования обобщений.
8. Лямбда-выражения, основные положения. Функциональные интерфейсы. Обобщенные функциональные интерфейсы. Лямбда-выражения, как аргументы. Лямбда-выражения и захват переменных. Лямбда-выражения и ссылки. Предопределенные функциональные интерфейсы.
9. Паттерны, ихприменение. Порождающиепаттерны: Abstract Factory, Builder, Factory Method, Singleton. Структурныепаттерны: Adapter, Façade, Composite. Паттерныповедения: Iterator, Memento, Strategy. Подробный обзор Java SE 9 и отличия от Java SE 8. «Jigsaw» и другие нововведения.
Карякин Михаил Игоревич