Голосов: 0
#1
DEV-J110. Java SE. Введение в язык Java [2022]
Высшая инженерная школа СПбПУ (Санкт-Петербургский Политехнический Университет)
Игорь Зайцев, Юрий Заковряшин, Кирилл Колосов, Николай Корнет, Алексей Маслаков, Денис Филичев
Курс представляет собой первую часть линейки курсов, посвященной основам практического программирования на платформе Java. Данный курс посвящен обзору структуры платформы Java, изучению языка Java и практическому освоению инструментария Java-разработчика. Основное внимание уделяется изучению классов, интерфейсов, управляющих операторов, простых типов данных и операций, а также использованию механизма обработки ошибок времени выполнения. Помимо этого рассматривается использование стандартных инструментов для разработки Java-приложений, входящих в состав JDK, а также интегрированная среда разработки.
Курс рассчитан как на начинающих программистов, так и программистов с опытом, желающих освоить новый для себя язык программирования.
Данный курс является первым и необходимым курсом для изучения программирования на языке Java. Знания, усваиваемые в этом курсе, являются необходимыми для прохождения всех дальнейших курсов по Java.
Основные цели курса:
1. Ознакомление со структурой платформы Java;
2. Изучение структуры и синтаксиса языка Java;
3. Научить слушателей самостоятельной разработке консольных автономных Java-приложений начального уровня;
4. Дать навык использования стандартного инструментария Java-разработчика из состава JDK;
5. Обучение работе в интегрированной среде разработки.
После окончания курса вы будете обладать следующими навыками:
1. Понимать структуру платформы Java;
2. Знать синтаксис языка Java;
3. Понимать принципы объектно-ориентированного программирования;
4. Понимать структуру простой Java-программы, достаточно свободно по-нимать тексты Java-программ невысокой сложности;
5. Использовать стандартные классы потоков ввода/вывода класса System;
6. Уметь разработать консольные автономные Java-приложения, компилиро-вать их в среде JDK и запускать из командной строки;
7. Уметь создавать проекты, компилировать, отлаживать и выполнять Java-приложения в интегрированной среде разработки NetBeans IDE;
8. Определять классы, переменные и методы классов;
9. Создавать объекты класса и использовать их;
10. Создавать и использовать анонимные и внутренние классы;
11. Работать с абстрактными классами и методами;
12. Определять атрибуты доступа и правильно использовать их;
13. Реализовать перезагрузку методов;
14. Обрабатывать исключительные ситуации в программах при помощи стан-дартных исключений и создавать собственные исключения;
15. Использовать стандартные интерфейсы и определять собственные интерфейсы;
16. Понимать структуру стандартных пакетов, создавать собственные пакеты и уметь правильно использовать пакеты;
17. Знать и уметь использовать операторы управления: условный оператор, оператор выбора, операторы циклов и операторы перехода;
18. Знать простые типы языка Java и уметь правильно их использовать;
19. Объявлять и определять переменные и константы;
20. Знать и уметь использовать все операции: арифметические, поразрядные, логические, операции присваивания и инициализации;
21. Уметь определять массивы данных и работать с их элементами.
Тема 1 - Введение
1.1 Основные термины и понятияТема 2 - Классы
1.2 Платформа Java SE
- Цели и задачи курса.
- Основные принципы объектно-ориентированного программирования.
1.3 Установка и настройка среды разработки.
- Редакции Java-платформы.
- Структура платформы Java SE.
- Виртуальная Java-машина.
- Стандартные пакеты и утилиты.
- Назначение и область применения языка Java.
- Основные характеристики языка Java.
1.4 Типизация в языках программирования
- Разработка и выполнение Java программы на платформе Java SE
- Получение дистрибутива и развёртывание Java-платформы.
- Настройка среды окружения.
- Проверка работоспособности.
- Инструментарий Java-разработчика.
- Java Development Kit (JDK).
- Процесс разработки Java-приложений.
- Интегрированные среды разработки.
Практические занятия
- Назначение и роль типизации в языках программирования.
- Роль типов в языках программирования.
- Определение понятий «тип», «объект» и «ссылка».
- Понятие о встроенных и пользовательских типах.
- Простые и агрегатные типы данных.
- Области видимости типов и их элементов.
- Понятие «объекта» в типизированных языках.
- Объявление объекта.
- Жизненный цикл объекта
- Установка платформы Java и настройка среды выполнения.
- Написание исходного кода простейшей программы.
- Компиляция, отладка и запуск простого Java-приложения стандартными средствами JDK.
2.1 Определение классаТема 3 - Интерфейсы
2.2 Наследование
- Классы, как пользовательский тип данных.
- Общая схема определения класса.
- Атрибуты (поля) класса.
- Методы класса.
- Конструктор класса.
- Создание экземпляра класса.
- Статические члены класса.
- Обращение к членам класса.
- Вызов методов.
- Рекурсивный вызов методов.
- Перегрузка конструкторов и методов.
- Явный вызов конструктора.
- Метод main().
- Сборщик мусора и метод finalize().
- Области видимости и спецификаторы доступа.
- Локальные области видимости.
2.3 Специальные виды классов
- Основные термины и определения, связанные с механизмом наследования.
- Роль и особенности наследования в языке Java.
- Определение наследования.
- Наследование членов класса.
- Доступ к унаследованным членам класса.
- Переопределение методов при наследовании.
- Порядок вызова конструкторов.
- Спецификатор final.
Практические занятия
- Назначение и особенности определения абстрактных классов.
- Назначение и особенности определения вложенных классов.
- Назначение и особенности определения анонимных классов.
- Определение простого класса.
- Определение класса со статическими членами.
- Определение подкласса.
- Создание экземпляра класса и обращение к его методам.
- Переопределение методов при наследовании.
- Порядок вызова конструкторов класса при наследовании.
- Явный вызов конструктора суперкласса.
- Запрет расширения (наследования) класса.
- Определение абстрактного класса и реализация его подклассов.
- Определение вложенного класса.
- Определение анонимного класса.
3.1 Определение интерфейса как пользовательского типаТема 4 - Перечислимый тип и аннотации
3.2 Реализация интерфейсов
- Интерфейс как пользовательский тип данных.
- Особенности интерфейсов в языке Java.
- Общая схема объявления интерфейса.
- Переменные в интерфейсах.
- Методы интерфейсов.
- Методы по умолчанию.
- Принятые умолчания.
- Наследование интерфейсов.
Практические занятия
- Определение класса, наследующего интерфейс.
- Основные правила переопределения методов при наследовании.
- Определение простого интерфейса.
- Наследование интерфейса.
- Реализация интерфейса.
- Использование ссылок интерфейсного типа.
4.1 Определение и использование перечислимого типаТема 5 - Параметризованные (Generic) типы
4.2 Определение и использование аннотации
- Назначение перечислимого типа.
- Общая схема определения перечислимого типа.
- Особенности определения и использования перечислимого типа
Практические занятия
- Назначение аннотации.
- Основные стандартные аннотации.
- Классы хранения аннотаций.
- Общая схема определения аннотации.
- Особенности использования аннотации
- Определение перечислимого типа для представления ролей пользователей
- Определение пользовательской аннотации для указания версии класса
5.1 Назначение и роль обобщенных типов в языке JavaТема 6 - Пакеты
5.2 Определение параметризованного типа
- Понятие об обобщённом программировании.
- Роль и назначение обобщённых типов в платформе Java.
- Общая схема определения параметризованного типа.
- Определение параметризованных методов и конструкторов.
- Ограничения параметризованных типов
Практические занятия
- Примеры использования параметризованных типов
- Определение и использование параметризованного класса-контейнера
6.1 Назначение и роль пакета в языке JavaТема 7 - Встроенные типы данных и приведение типов
6.2 Определение и использование пакетов Определение пакета, директива package.
- Пакет как средство логической организации пользовательских типов.
- Пакетная область видимости.
- Расположение файлов пакета в файловой системе.
- Доступ к типам пакета.
- Назначение и использование директивы import.
- Соглашение об именованиях.
- Пакеты по умолчанию.
7.1 Примитивные типыТема 8 - Массивы
7.2 Специальные типы
- Особенности встроенных типов.
- Классификация встроенных типов.
- Объявление переменных и констант встроенного типа.
- Особенности представления и использования интегральных типов.
- Тип byte.
- Тип short.
- Тип int.
- Тип long.
- Назначение и особенности использования символьного типа char.
- Особенности представления и использования вещественных типов.
- Тип float.
- Тип double.
- Назначение и особенности использования логического типа boolean.
7.3 Приведение типов
- Назначение и особенности использования псевдо-типа void.
- Назначение и особенности использования встроенной константы null.
Практические занятия
- Назначение приведения типов.
- Условия, при соблюдении которых возможно приведение типов.
- Явное приведение типов.
- Неявное (автоматическое) приведение типов.
- Ранжирование встроенных типов по диапазону представления.
- Особенности приведения встроенных типов.
- Ранжирование пользовательских типов по диапазону представления.
- Особенности приведения ссылочных типов.
- Объявление и инициализация переменных и констант интегрального типа.
- Объявление и инициализация переменных и констант символьного типа.
- Объявление и инициализация переменных и констант вещественного типа.
- Объявление и инициализация переменных и констант логического типа.
- Разбор примера с приведением встроенных типов.
- Разбор примера с приведением ссылочных типов.
8.1 Определение массиваТема 9 - Операторы управления
8.2 Одномерные массивы
- Основные свойства массива как агрегатного типа данных.
- Операции, определённые для массива.
- Особенности реализации массивов в языке Java.
8.3 Многомерные массивы
- Определение ссылки на массив.
- Создание массива.
- Инициализация массива.
- Доступ к элементам массива.
Практические занятия
- Особенности реализации многомерных массивов в языке Java.
- Объявление массива.
- Инициализация многомерного массива.
- Создание и инициализация массива встроенного типа;
- Создание и инициализация массива ссылочного типа данных Создание и инициализация многомерного массива встроенного типа; многомерного
- Создание и инициализация многомерного массива ссылочного типа данных.
9.1 Назначение операторов управления.Тема 10 - Обработка исключений
9.2 Операторы управления
- Классификация операторов управления.
- Основные термины и определения.
- Назначение и особенности операторов управления.
- Классификация стандартных операторов управления.
- Синтаксическая роль пустого оператора.
Практические занятия
- Условный оператор if-else.
- Оператор выбора switch.
- Назначение и особенности операторов цикла.
- Оператор do – while.
- Оператор while.
- Оператор for.
- Назначение и особенности реализации операторов безусловного перехода в языке Java.
- Оператор continue. Оператор break. Оператор return
- Использование оператора if-else;
- Использование оператора switch;
- Примеры реализации алгоритма полного перебора элементов массива на основе каждого из операторов цикла;
- Пример различия в использовании операторов цикла разных видов.
- Использование операторов безусловного перехода в реализации алгоритма поиска.
10.1 Общие принципы обработки исключений.Тема 11 - Операции
10.2 Операторы try-catch и throw
- Типы исключений Определение термина «исключение».
- Общие принципы обработки исключений.
- Особенности обработки исключений в Java-программах.
- Стандартные типы исключений.
- Определение пользовательских исключений
Практические занятия
- Структура и особенности исполнения оператора try-catch-finally.
- Оператор throw. Делегирование обработки исключений.
- Разбора примера работы простого оператора try-catch.
- Повторный выброс исключения.
- Разбора примера с делегированием обработки исключения.
- Определение пользовательского исключения, описывающего ошибки в определении дат.
11.1 Общие сведения об операциях, определённых в языке Java.Тема 12 - Лексемы, комментарии и блоки кода
11.2 Арифметические и поразрядные операции
- Приоритеты операций
- Основные термины и определения.
- Классификация операций.
- Стандартный порядок выполнения операций в выражениях.
- Понятие о приоритете операции.
- Изменение порядка выполнения операций.
11.3 Операции отношения (сравнения), логические операции и операции присваивания
- Арифметические бинарные операции.
- Арифметические унарные операции.
- Приведение типов при выполнении операций.
- Особенности использования типов byte и short в арифметических операциях.
- Поразрядные бинарные операции сложения, умножения и исключающего сложения.
- Операции сдвига. Операция поразрядной инверсии.
11.4 Специальные операции
- Поразрядные бинарные операции сложения, умножения и исключающего сложения.
- Операции сдвига.
- Операция поразрядной инверсии.
- Логические операции.
- Особенности использования логических операций сложения и умножения в оптимизируемой и не оптимизируемой формах.
- Операция присваивания.
- Сокращённая запись выражений с использованием операции присваивания. «Цепочечное» присваивание.
Практические занятия
- Операция new().
- Операция instanceof.
- Тернарная операция.
- Другие операции.
- Пример использования арифметических операций.
- Примеры ошибочных вычислений, связанных с неявными приведениями типов.
- Примеры использования поразрядных операций при вычислениях и анализе структуры данных.
- Примеры использования поразрядных операций при вычислениях и анализе структуры данных.
- Примеры использования логических операций.
- Примеры использования операции присваивания.
- Пример использования тернарной операции;
- Пример использования операции instanceof.
- Примеры использования поразрядных операций при вычислениях и анализе структуры данных.
12.1 Общие сведения о лексической структуре языка Java.
12.2 Комментарии и блоки кода
- Основные виды лексем
- Понятие о лексическом анализе программ.
- Классификация лексем.
- Пробельные символы.
- Разделители.
- Ключевые слова языка Java.
- Назначение идентификаторов.
- Синтаксические правила записи идентификаторов.
- Соглашения о выборе идентификаторов.
- Литеральные константы интегрального типа.
- Литеральные константы вещественного типа.
- Литеральные константы символьного типа.
- Литеральные константы логического типа.
- Литеральные константы строкового типа.
- Литеральная константа null.
- Назначение комментариев.
- Однострочный комментарий.
- Многострочный комментарий.
- Документирующий комментарий.
- Практика применения комментариев.
- Блоки кода.
- Особенности областей видимости, связанных с блоками кода
Примечание: данный курс входит модулем в общую программу переподготовки по направлению "Программист (Язык Java)". С целью организации данной программы по частям в процессе прохождения модуля мною будут оформлены следующие модули программы, если к ним будет интерес.
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.