Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Специалист
Длительность:
27:27:00
Студентов:
8424
Выпускников:
653
Качество курса:
4.30 | 3.87
Курс рассчитан на широкую аудиторию начинающих программистов, от школьников-старшеклассников до студентов старших курсов, а также людей, желающих самостоятельно научиться программировать на языке Java.
Курс может быть интересен даже опытным программистам, которые по каким-либо причинам не отслеживали изменения и нововведения в Java за последние годы. Курс содержит информацию об основных синтаксических конструкциях языка Java, особенностях и типичных ошибках их использования, а также сведения о среде NetBeans 5.5, поддерживающей самые современные средства разработки приложений Java - визуальное проектирование графического пользовательского интерфейса, прямое и обратное проектирование с использованием UML-диаграмм, рефакторинг. Курс подготовлен на основе лекций и материалов практических занятий для студентов 1-6 курсов физического факультета СПбГУ.

Предварительные курсы

Дополнительные курсы

 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
1 час 50 минут
Общие представления о языке Java
Java и другие языки программирования. Системное и прикладное программирование. Виртуальная Java-машина, байт-код, JIT-компиляция. Категории программ, написанных на языке Java. Алфавит языка Java. Десятичные и шестнадцатеричные цифры и целые числа. Зарезервированные слова. Управляющие последовательности. Символы Unicode. Специальные символы. Идентификаторы. Переменные и типы. Примитивные и ссылочные типы.
Оглавление
    -
    Лекция 2
    3 часа 20 минут
    Объектно-ориентированное проектирование и платформа NetBeans
    Процедурное и объектно-ориентированное программирование. Инкапсуляция. Работа со ссылочными переменными. Сборка мусора. Проекты NetBeans. Пакеты. Уровни видимости классов. Импорт классов. Базовые пакеты и классы Java. Создание в NetBeans простейшего приложения Java. Компиляция файлов проекта и запуск приложения. Структура проекта NetBeans. Создание в NetBeans приложения Java с графическим интерфейсом. Редактор экранных форм. Внешний вид приложения. Ведение проектов. Редактирование меню экранной формы. Создание нового класса. Документирование исходного кода в Java. Основные компоненты пакетов swing и awt. Технологии Java и .Net.
    Оглавление
      -
      Лекция 3
      1 час 20 минут
      Примитивные типы данных и операторы для работы с ними
      Булевский (логический) тип. Целые типы, переменные, константы. Основные операторы для работы с целочисленными величинами. Вещественные типы и класс Math. Правила явного и автоматического преобразования типа при работе с числовыми величинами. Оболочечные классы. Упаковка (boxing) и распаковка (unboxing). Приоритет операторов.
      Оглавление
        -
        Лекция 4
        1 час 38 минут
        Работа с числами в языке Java
        Двоичное представление целых чисел. Позиционные и непозиционные системы счисления. Двоичное представление положительных целых чисел. Двоичное представление отрицательных целых чисел. Дополнительный код. Проблемы целочисленной машинной арифметики. Шестнадцатеричное представление целых чисел и перевод из одной системы счисления в другую. Побитовые маски и сдвиги. Двоичное представление вещественных чисел. Двоичные дроби. Мантисса и порядок числа. Стандарт IEEE 754 представления чисел в формате с плавающей точкой.
        Оглавление
          -
          Лекция 5
          1 час 3 минуты
          Управляющие конструкции
          Составной оператор. Условный оператор if. Оператор выбора switch. Операторы инкремента ++ и декремента --. Оператор цикла for. Оператор цикла while - цикл с предусловием. Оператор цикла do...while - цикл с постусловием. Операторы прерывания continue, break, return, System.exit.
          Оглавление
            -
            Лекция 6
            3 часа 44 минуты
            Начальные сведения об объектном программировании
            Наследование и полиморфизм. UML-диаграммы. Функции. Модификаторы. Передача примитивных типов в функции. Локальные и глобальные переменные. Модификаторы доступа и правила видимости. Ссылка this. Передача ссылочных типов в функции. Проблема изменения ссылки внутри подпрограммы. Наследование. Суперклассы и подклассы. Переопределение методов. Наследование и правила видимости. Зарезервированное слово super. Статическое и динамическое связывание методов. Полиморфизм. Базовый класс Object. Конструкторы. Зарезервированные слова super и this. Блоки инициализации. Удаление неиспользуемых объектов и метод finalize. Проблема деструкторов для сложно устроенных объектов. Перегрузка методов. Правила совместимости ссылочных типов как основа использования полиморфного кода. Приведение и проверка типов. Рефакторинг. Reverse engineering - построение UML-диаграмм по разработанным классам.
            Оглавление
              -
              Лекция 7
              2 часа 51 минута
              Важнейшие объектные типы
              Массивы. Коллекции, списки, итераторы. Работа со строками в Java. Строки как объекты. Классы String, StringBuffer и StringBuilder. Работа с графикой. Исключительные ситуации. Обработка исключительных ситуаций. Иерархия исключительных ситуаций. Объявление типа исключительной ситуации и оператор throw. Объявление метода, который может возбуждать исключительную ситуацию. Зарезервированное слово throws. Работа с файлами и папками.
              Оглавление
                -
                Лекция 8
                47 минут
                Наследование: проблемы и альтернативы. Интерфейсы. Композиция
                Проблемы множественного наследования классов. Интерфейсы. Отличия интерфейсов от классов. Проблемы наследования интерфейсов. Пример на использование интерфейсов. Композиция как альтернатива множественному наследованию.
                Оглавление
                  -
                  Лекция 9
                  1 час 1 минута
                  Дополнительные элементы объектного программирования на языке Java
                  Потоки выполнения (threads) и синхронизация. Преимущества и проблемы при работе с потоками выполнения. Синхронизация по ресурсам и событиям. Класс Thread и интерфейс Runnable. Создание и запуск потока выполнения. Поля и методы, заданные в классе Thread. Подключение внешних библиотек DLL."Родные" (native) методы.
                  Оглавление
                    -
                    Лекция 10
                    1 час 13 минут
                    Введение в сетевое программирование
                    Краткая справка по языку HTML. Апплеты. Сервлеты. Технология JSP - Java Server Pages.
                    Оглавление
                      -
                      Лекция 11
                      38 минут
                      Встроенные классы
                      Виды встроенных классов. Вложенные (nested) классы и интерфейсы. Внутренние (inner) классы. Локальные (local) классы. Анонимные (anonymous) классы и обработчики событий. Анонимные (anonymous) классы и слушатели событий (listeners).
                      Оглавление
                        -
                        Лекция 12
                        50 минут
                        Компонентное программирование
                        Компонентная архитектура JavaBeans. Мастер создания компонента в NetBeans. Пример создания компонента в NetBeans - панель с заголовком. Добавление в компонент новых свойств. Добавление в компонент новых событий.
                        Оглавление
                          -
                          1 час 40 минут
                          -
                          Полетаев Дмитрий
                          Полетаев Дмитрий
                          Не очень понятно про оболочечные Данные,ячейки памяти могут наверно размер менять,какое это значение те же операции только ячейки больше,по скорости тоже самое
                          Максим Старостин
                          Максим Старостин

                          Код с перемещением фигур не стирает старую фигуру, а просто рисует новую в новом месте. Точку, круг.