
- •1. История создания и развития Java.
- •2.Основные версии и продукты Java.
- •3.Методология процедурно-ориентированного программирования и объектно-ориентированного программирования
- •4. Объекты.
- •5. Типы отношений между классами.
- •6.Достоинства и недостатки ооп.
- •7. Работа с операторами.
- •8. Типы данных.
- •9.Имена. Простые и составные имена. Элементы
- •10.Пакеты. Элементы пакета. Платформенная поддержка пакетов. Уникальность имен пакетов.
- •11. Область видимости имен.
- •12.Соглашения по именованию.
- •13. Объявление классов.
- •14. Преобразование типов.
- •15. Объектная модель в Java.
- •16. Интерфейсы.
- •17.Полиморфизм.
- •18. Массивы как тип данных в Java. Преобразование типов для массивов.
- •19. Клонирование.
- •20. Исключения.
- •21. Управление циклами.
- •22. Обработка пользовательских событий.
- •23. Апплеты.
7. Работа с операторами.
Операторы присваивания и сравнения:
Во-первых, конечно же, различаются оператор присваивания = и оператор сравнения ==.
х = 1; // присваиваем переменной х значение 1
х == 1 // сравниваем значение переменной х с единицей
Оператор сравнения всегда возвращает булевское значение true или false.
Оператор присваивания возвращает значение правого операнда.
// пример вызовет ошибку компилятора
if (х=0) { // здесь должен применятся оператор сравнения ==
В Java легко устраняется. Поскольку выражение х=0 имеет числовое значение 0, а не булевское (и тем более не воспринимается как всегда истинное), то компилятор сообщает об ошибке (необходимо писать х==0). Условие "не равно" записывается как !=.
Логические операторы:
Логические операторы "и" и "или" (& и |) можно использовать в двух вариантах.
Первый вариант операторов (&, |) всегда вычисляет оба операнда, второй же - ( &&, 11 ) не будет продолжать вычисления, если значение выражения уже очевидно. Например:
int x=1;
(х>0) | calculate(x) // в таком выражении произойдет вызов calulate (х>0)
11 calculate(x) // а в этом – нет.
Опиратор "не":
Логический оператор отрицания "не" записывается как ! и, конечно, имеет только один вариант использования. Этот оператор меняет булевское значение на противоположное.
int x=1;
х>0 // выражение истинно
!(х>0) // выражение ложно
Оператор <<
При сдвиге влево оператором << все биты числа смещаются на указанное количество позиций влево, причем освободившиеся справа позиции заполняются нулями. Эта операция аналогична умножению на 2п и действует вполне предсказуемо, как при положительных, так и при отрицательных аргументах.
8. Типы данных.
Ткпы данных определяют основные возможности любого языка. Кроме того, Java является строго типизированным языком, а потому четкое понимание модели типов данных очень помогает в написании качественных программ.
Первую группу составляют 8 простых, или примитивных (от английского primitive), типов данных. Они подразделяются на три подгруппы:
• целочисленные: - byte, - short, -int, -long.
char (также является целочисленным типом)
• дробные: -float, - double
• булевский: - Boolean.
Вторую группу составляют объектные, или ссылочные (от английского reference), типы данных. Это все классы, интерфейсы и массивы. В стандартных библиотеках первых версий Java находилось несколько сот классов и интерфейсов, сейчас их уже тысячи. Кроме стандартных, написаны многие и многие классы и интерфейсы, составляющие любую Java-программу.
Иллюстрировать логику работы с типами данных проще всего на примере переменных.
9.Имена. Простые и составные имена. Элементы
Имена бывают простыми (simple), состоящими из одного идентификатора (они определяются во время объявления) и составными (qualified), состоящими из последовательности идентификаторов, разделенных точкой.
У пакетов и ссылочных типов (классов, интерфейсов, массивов) есть элементы (members). Доступ к элементам осуществляется с помощью выражения, состоящего из имен, например, пакета и класса, разделенных точкой.
Далее классы и интерфейсы будут называться объединяющим термином тип (type).
Элементами пакета являются содержащиеся в нем классы и интерфейсы, а также вложенные пакеты. Чтобы получить составное имя пакета, необходимо к полному имени пакета, в котором он располагается, добавить точку, а затем его собственное простое имя. Например, составное имя основного пакета языка Java — java.lang (то есть простое имя этого пакета lang, и он находится в объемлющем пакете Java).
Простое имя классов и интерфейсов дается при объявлении, например, Object, String, Point. Чтобы получить составное имя таких типов, надо к составному имени пакета, в котором находится тип, через точку добавить простое имя типа. Например, java.lang.Object, java.lang.reflect.Method или com.myfirm.MainClass.
Для ссылочных типов элементами являются поля и методы, а также внутренние типы (классы и интерфейсы). Элементы могут быть, как непосредственно объявлены в классе, так и получены по наследству от родительских классов и интерфейсов, если таковые имеются. Простое имя элементов также дается при инициализации.