- •История языков типа с. Краткая история Java. Характеристика языка.
- •Выполнение Java – программы. Виртуальная машина Java (jvm). Jdk и jre. Этапы разработки программы на Java.
- •Переменные. Имена (идентификаторы). Типы данных.
- •Приведение типов. Автоматическое преобразование типов в выражениях.
- •Массивы. Многомерные массивы.
- •Арифметические операции. Операторы отношения. Булевы логические операторы.
- •Оператор выбора if. Вложенные if. Многозвенный if-else-if.
- •Оператор выбора switch.
- •Оператор цикла while и do while.
- •Оператор цикла for.
- •Операторы перехода break, continue, return.
- •Основные принципы объектно-ориентированного подхода к программированию.
- •Понятие класса. Общая форма класса. Создание объектов. Управление доступом. Инкапсуляция.
- •Методы. Общая форма метода. Возврат значений. Перегрузка методов.
- •Статические члены класса.
- •Наследование. Класс Object. Использование super. Абстрактные классы.
- •Переопределение методов. Динамический вызов методов. Полиморфизм.
- •22 Вложенные классы
- •Интерфейсы. Использование интерфейсов для динамического вызова методов
- •Сортировка выбором
- •Пузырьковая сортировка
- •Последовательный поиск
- •Бинарный поиск
- •Статические и динамические структуры данных. Динамический массив.
- •Реализация стека с использованием связного списка
- •Класс комплексных чисел
- •События, обработка событий. Модель делегации событий.
Статические члены класса.
статическими могут быть методы и переменные. Если переменная объявлена как static, то она фактически глобальная переменная, причем экземпляры классов совместно используются.
Методы имеют ограничения:
- статические методы должны обращаться, только к статическим данным
- могут вызывать только другие статические методы
- нельзя использовать ключевое слово this
Наследование. Класс Object. Использование super. Абстрактные классы.
наследование – это порождение нового класса на основе старого существующего. Порождение происходит с сохранением свойств и методов класса родителя.
Класс object находится на вершине иерархии классов java. Object явно или косвенно наследуется всеми классами, поэтому переменная типа object способна указывать на объект любого типа, будь то экземпляр какого – либо класса или массив.
Super – используется для вызова конструктора родительного класса, если нужно то вместо с аргументами (arg0, arg1). Эта строка должна стоять самой первой в каждом конструкторе.
Абстракция данных – это выделение характеристик объекта, которые отличают от других объектов и четко задают его границы. К примеру создание ООП программу для оптимизации работы склада важно учитывать вес контейнера, размер, его положении на складе.
Переопределение методов. Динамический вызов методов. Полиморфизм.
переопределение методов – это одна из возможностей языка программирования, позволяющая подклассу обеспечить специфическую реализацию метода, уже реализованного в одном из суперклассов или родительских классов.
Полиморфизм – это явление, при котором функции с одним и тем же именем соответствуют разный программный код в зависимости от того объект какого класса используется при вызове данного метода.
22 Вложенные классы
Все вложенные классы можно разделить на вложенные классы-члены класса (member classes), описанные вне методов, и вложенные локальные классы (local classes), описанные внутри методов и/или блоков. Локальные классы, как и все локальные переменные, не являются членами класса.
Классы-члены могут быть объявлены статическим модификатором static. Поведение статических классов-членов ничем не отличается от поведения обычных классов, отличается только обращение к таким классам. Поэтому они называются вложенными классами верхнего уровня (nestee tep-level classes), хотя статические классы-члены можно вкладывать друг в друга. В них можно объявлять статические члены. Используются они обычно для того, чтобы сгруппировать вспомогательные классы вместе с основным классом. Все нестатические вложенные классы называются внутренними (inner). В них нельзя объявлять статические члены. Локальные классы, как и все локальные переменные, известны только в блоке, в котором они определены. Они могут быть безымянными (anonymous classes).
Интерфейсы. Использование интерфейсов для динамического вызова методов
ХЗ
Сортировка выбором
Сортировка выбором — алгоритм сортировки, относящийся к неустойчивым алгоритмам сортировки. На массиве из n элементов имеет время выполнения в худшем, среднем и лучшем случае Θ(n2), предполагая что сравнения делаются за постоянное время.
Шаги алгоритма:
находим минимальное значение в текущем списке
производим обмен этого значения со значением на первой неотсортированной позиции
теперь сортируем хвост списка, исключив из рассмотрения уже отсортированные элементы.
Существует также двунаправленный вариант сортировки методом выбора, в котором на каждом проходе отыскиваются и устанавливаются на свои места и минимальное, и максимальное значения.