Основы программирования на Java

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

Тема 1. Введение в java-программирование. Основы языка — переменные

  • Язык программирования java. Технологии java: SE, EE, ME, Java FX. SE JDK и JRE — назначение и состав.
  • Установка и настройка SE JDK.
  • Технологии и инструменты для программирования на java.
  • Установка и настройки IDE.
  • Структура проекта (с учётом выбранной IDE). Размещение файлов с исходными текстами и файлов классов.
  • Понятие пакета. Соотношение пакета и каталога файловой системы. Правила именования пакетов.
  • Создание проекта, пакета и класса в IDE.
  • Структура приложения. Основные правила написания java-приложения.
  • Синтаксис языка.
  • Ключевые слова. Идентификаторы. Правила именования в java. Литералы (константы).
  • Комментарии. Комментарии документации (javadoc).
  • Понятие ТИП. Примитивные типы данных. Ссылочные типы данных. Классы-обертки.
  • Операторы присваивания, арифметические (унарные и бинарные).
  • Операторы сравнения и логические операции.
  • Побитовые операции и сдвига.

Тема 2. Операторы управления. Циклы

  • Условные операторы if-then / if-then-else, switch.
  • Циклы while и do-while.
  • Операторы break и continue.
  • Цикл for.

Тема 3. Массивы. Работа с библиотечными классами

  • Массивы.
  • Одномерные, двумерные, многомерные, нерегулярные массивы.
  • Различные сортировки массивов.
  • Классы оболочки примитивных типов.
  • Автоупаковка и автораспаковка.
  • Статический импорт.
  • Класс Math, Random.
  • Класс Date, DateFormat, Calendar, GregorianCalendar.

Тема 4. Принципы ООП

  • Основные понятия ООП.
  • Классы и Объекты.
  • Структура построения класса (поля, методы, логические блоки).
  • Спецификаторы доступа.
  • Объявление класса.
  • Методы и конструкторы.
  • Ключевое слово this.

Тема 5. Классы и объекты. Enum. String

  • Передача информации в методы и конструкторы.
  • Методы с переменным числом параметров.
  • Возврат значения из метода.
  • Перегрузка методов.
  • Логические блоки (статические и нестатические).
  • Ключевые слова static и final.
  • Тип Перечисление (Enum).
  • Класс String.
  • Использование классов StringBuilder/StringBuffer.

Тема 6. Наследование. Класс Object

  • Наследование.
  • Переопределение методов.
  • Скрытие полей.
  • Ключевое слово super.
  • Final классы и методы.
  • Класс Object.
  • Методы класса Object и правила их переопределения.

Тема 7. Абстрактные классы. Интерфейсы

  • Абстрактные методы и классы.
  • Интерфейсы.
  • Реализация и наследование интерфейсов.
  • Клонирование объектов.
  • Вложенные, внутренние и анонимные (неименованные) классы.

Тема 8. Исключения

  • Исключения. Перехват исключений. Обработка исключений.
  • Блоки try, catch, finally.
  • Определение исключений в методах.
  • Генерация исключений в блоках.
  • Цепочки исключений.
  • Сообщения об исключительных ситуациях.
  • Создание классов исключений.

Тема 9. Ввод-вывод данных

  • Сериализация.
  • Потоки ввода-вывода.
  • Байтовые потоки.
  • Символьные потоки.
  • Буферированные потоки.
  • Сканирование и форматирование.
  • Потоки данных.
  • Сохранение и загрузка объектов.
  • Потоки объектов.
  • Файловый ввод-вывод.
  • Файловые объекты.
  • Файлы произвольного доступа.
  • Библиотеки для ввода-вывода.

Тема 10. Параметризация. Коллекции

  • Параметризация классов и методов (generic).
  • Общие определения коллекций.
  • Интерфейс Collection.
  • Списки.
  • Множества.
  • Карты отображений.
  • Сравнение объектов.
  • Унаследованные коллекции.
  • Класс Collections.
  • Класс Arrays.

Тема 11. Основы баз данных

  • Реляционные базы данных.
  • Разработка и программирование.
  • Инструменты работы с базами данных.
  • Операторы создания и модификации таблиц баз данных.
  • Запись данных в таблицы баз данных.
  • Модификация данных в записях.
  • Удаление записей из базы данных.
  • Выборка данных из таблиц базы данных.

Тема 12. JDBC: Работа с базами данных в java

  • JDBC — интерфейс для работы с базами данных.
  • Архитектура JDBC.
  • Подключение к базе данных.
  • Выполнение JDBC-операторов в java-программах.
  • Пример java-приложения для работы с базами данных.

Тема 13. Потоки. Многопоточность. Знакомство с JFC и SWING

  • Жизненный цикл потока.
  • Управление потоками.
  • Подпроцессы — демоны.
  • Методы и инструкции synchronized.
  • JFC и Swing.
  • Компиляция и запуск Swing-программ.
  • Примеры Swing-приложений.
  • Компоненты Swing. Модели. Базовые классы для компонент Swing.
  • Look and Feel. Изменение Look and Feel.
  • Менеджеры размещения.
  • Абсолютное позиционирование.
  • Контейнеры и компоненты GUI.
  • Фреймы и панели.

Тема 14. Элементы библиотеки SWING. Обработка событий

  • Панели с прокруткой. Панели с разбиением.
  • Диалоги.
  • Рамки.
  • Actions.
  • Event Listeners — слушатели событий.
  • Реализация слушателя событий.
  • Слушатели, поддерживаемые Swing-компонентами.
  • Меню. Инструментальные линейки.
  • Текстовые компоненты.
  • Кнопки, чек-боксы, радиокнопки.
  • Комбо-боксы.
  • Метки.
  • Иконки и изображения.
  • Списки. Подсказки.
  • Таблицы.
  • Деревья.
  • Разработка настольных приложений с использованием файлов и баз данных.
  • Создание jar-архивов.