Skip to content

Latest commit

 

History

History
66 lines (61 loc) · 4.56 KB

themes.md

File metadata and controls

66 lines (61 loc) · 4.56 KB

Синтаксис Java. ООП. Тестирование и отладка

  • Знакомство
  • Обзор сайтов и литературы по Java и ООП
  • Книги по алгоритмам
  • Скачивание, установка и настройка Java
  • Почему именно Java? (преимущества)
  • Что такое Java? История создания языка
  • Платформа Java. JVM, сборка мусора, оптимизация, прогрев. JDK, JRE
  • Варианты поставки Java: ME, SE, EE
  • Установка и настройка IntelliJ IDEA, создание проекта
  • Установка и настройка Apache Maven. Центральный репозиторий. POM (project object model)
  • Установка и настройка Git + GitHub. Клиент git для Windows
  • Установка и настройка web-сервера Apache Tomcat
  • JavaDoc
  • Виды памяти: heap, stack. Опции при запуске JVM для настройки размера памяти
  • Java->class->JVM. Первая программа на Java (Hello World). Package
  • Шаблоны Idea для быстрого ввода кода: psvm, sout+v/m, fori...
  • Лексика языка Java: комментарии, операторы, переменные, литералы, присваивание, операторные скобки
  • 8 примитивных типов данных: byte, short, int, long, float, double, boolean, char
  • Сокращённая форма: +=, -=..., инкремент/декремент, префиксный/постфиксный
  • Условный оператор if.. else..
  • Точность вычислений в действительных числах (float, double)
  • Массивы. Arrays: foreach, многомерные
  • Передача параметров по ссылке и значению
  • Операции: арифметические, побитовые, логические
  • Строки форматирования и System.out.printf
  • Циклы: while, do while, for
  • Использование Markdown-разметки для документации
  • Перевод строки на разных платформах
  • Класс String: работа со строками

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

  • Основы объектно-ориентированного программирования: Класс. Экземпляр класса (объект)
  • Инкапсуляция. Полиморфизм. Интерфейсы. Абстрактные классы
  • Пакеты. import. Модификаторы доступа: public, protected, private, package local. Область видимости
  • Объектная модель. Состояние, поведение, индивидуальность (Гради Буч)
  • Типы отношений между классами: наследование, аггрегация, ассоциация
  • Множественное наследование. Делегирование

Тестирование

  • Виды тестирования: ручное, отладчик (debugger), логи, unit-тесты
  • Модульное тестирование в JUnit4 (+JUnit3)
  • Исключения в Java
  • Практика: Решение квадратного уравнения
  • Ввод с клавиатуры и вывод на экран
  • Графические библиотеки (обзор): AWT, Swing, JavaFX

Домашнее задание

  • Зарегистрироваться на http://github.com + присоединиться к организации levelp
  • Придумать объектную модель для своего проекта
  • Подумать о проекте, о предметной области
  • Решение квадратного уравнения ax^2 + bx + c = 0
  • Разложение на слагаемые (рекурсия, массивы)
  • Скобочные последовательности

Проект для совместной разработки

  • JobSite - сайт с резюме (для поиска работы)
  • ToDoList - список задач + синхронизация
  • Web-приложение для управления банковскими счетами
  • Ваш проект