- •Объектно-ориентированное программирование (общие сведения).
- •Атрибуты объекта в ооп.
- •Преимущества многократного использования кода, понятие модульности, ее реализация.
- •Возможности и назначение jvm.
- •Особенности проектирования программ в Java.
- •Объектная модель Java.
- •Пакет java.Lang.
- •Назначение и состав библиотек классов Java.
- •Особенности управления программами в Java.
- •Порядок выполнения программ в Java
- •Понятие превращения программ Java в исполняемый код.
- •Принцип инкапсуляции в java
- •Принцип наследования в Java
- •Понятие о классах в java
- •Реализация процедуры в java
- •Понтие функции в java
- •Возвращаемые значения в функциях.
- •Передача параметров в java.
- •Атрибуты класса
- •Способы создания и обработка массивов данных
- •Операторы прерывания программ, основные типы ошибок
- •Типы переменных в java
- •Особенности объявления переменных в java
- •Объявление массива данных в java
- •Логические операторы java
- •Операции и конструкции сравнения в java
- •Проектирование программ и состав модулей
- •Организация циклов в java
- •Понятие интерфейсов в java
- •Возможности java по работе с файлами
- •Потоки выполнения и синхронизация.
- •Виды встроенных классов.
- •Понятие коллекций, списков и итераторов.
- •Управление ходом выполнения программ.
- •Работа со стороками.
- •Сериализация объектов.
- •Создание объекта-исключения.
- •Использование модификаторов доступа.
- •Организация доступа к файлам.
- •Интерфейсы.
- •Основные отличия интерфейсов от классов.
- •Особенности наследования интерфейсов.
- •Базовые классы при работе с потомками выполнения в Java.
- •Базовые классы реализации ввода/вывода данных.
- •Объектные и ссылочные типы данных Java.
- •Понятие компиляции проекта в Java.
- •Способы создания модульного компонента в Java.
- •Работа "сборщика мусора".
- •Понятие преобразования типов в Java.
- •1. Виды преобразований
- •1.1. Расширяющие преобразования чисел
- •1.2. Сужающие преобразования чисел
- •1.3. Расширяющие преобразования ссылок
- •1.4. Сужающие преобразования ссылок
- •1.5. Преобразования в строки
- •1.6. Недопустимые преобразования
- •2. Контексты преобразований
- •2.1. Преобразование при присваивании
- •5.4.2.2. Преобразование аргументов метода
- •5.4.2.3. Преобразование в строку
- •5.4.2.4. Явное преобразование типа
- •5.4.3. Преобразования типов числовых операндов
Объектные и ссылочные типы данных Java.
Типы данных
Java является строго типизированным языком. Это означает, что любая переменная и любое выражение имеют известный тип еще на момент компиляции. Такое строгое правило позволяет выявлять многие ошибки уже во время компиляции. Все типы данных разделяются на две группы. Первую составляют 8 простых, или примитивных, типов данных, которые подразделяются на 3 подгруппы. К первой относятся : byte, int,log, short,char. Вторая подругппа (дробные): float double.К третьей(булевой): Boolean. Вторую группу составляют объектные, или ссылочные, типы данных. Это все классы, интерфейсы и массивы.
Примитивные переменные являются действительными хранилищами данных. Каждая переменная имеет значение, не зависящее от остальных. Ссылочные же переменные хранят лишь ссылки на объекты, причем различные переменные могут ссылаться на один и тот же объект.
Переменные используются в программе для хранения данных. Любая переменная имеет три базовых характеристики: * имя; * тип; * значение. Имя уникально идентифицирует переменную и позволяет обращаться к ней в программе. Тип описывает, какие величины может хранить переменная. Значение – текущая величина, хранящаяся в переменной на данный момент. Работа с переменной начинается с ее объявления и задания типа. Любое объявление переменной имеет свою область действия, границы которой зависят от того, где именно расположено это объявление. При помещении фрагмента текста программы в пару фигурных скобок { } создается новый блок. Блоки в программе на языке Java могут быть вложенными. Переменная доступна в блоке только в том случае, если она определена в этом блоке или в одном из вышестоящих блоков, в который входит текущий блок.
Объявление переменных и их инициализация задается типом, именем и специальным инициализатором в виде константы или выражения, которое вычисляется во время компиляции. При объявлении переменной может использоваться ключевое слово final. Тогда при выполнении программы переменная не меняет своего значения. Таким образом примитивные переменные являются действительными хранилищами данных и их значение независит от остальных. Ссылочные переменные хранят ссылки на объекты ,причем различные переменные могут ссылаться на один и тот же объект.
Литерал null может принимать переменная любого ссылочного типа. Значение null можно передавать в качестве любого объектного аргумента при вызове ф-ций.
Память в java представляется не набором байтов ,а в виде виртуального пространства, в котором существуют объекты. Поэтому доступ к памяти осуществляется не по физическому адресу или указателю, а через ссылки на объекты. Ссылка возвращается при создании объекта и далее может храниться в переменной или передаваться в качестве аргумента.java допускает наличие нескольких ссылок на один объект. Если в процессе выполнения программы на объект не существует ни одной ссылки, то он становится «мусором», и уничтожается автоматическом сборщиком мусора ,работающим как фоновый процесс jvm.
Особенности работы с примитивными и ссылочными типами данных.Целочисленные типы(byte, short, int,log,) имеют 1, 2, 4 и 8 байтов соответственно. длина char2. Над целочисленными аргументами можно производить следующие операции :1)сравнения( возвращает булевское значение) 2) цифровые операции, к которым относятся унарные операции (единичные), арифметические ,операции инкремента и декремента, операции битового сдвига и битовые операции.3) оператор с условием –это ? : 4) оператор приведения типов 5)оператор конкатенации со строкой.
Операторы + и – могут быть бинарными (иметь 2 операнда) и унарными. Унарный оператор всегда возвращает значение равное аргументу.
Оператор с условием. Позволяет привести операнды к одному типу. Оператор конкатенации со строкой может принимать в качестве аргумента только строковую величину. Конкатенация –соединение строк.
Целочисленные типы – это byte, short, int, long, char.
Дробные (вещественные) типы Язык Java поддерживает числа и переменные с плавающей точкой обычной и двойной разрядности –типы float и double.
их длина 4 и 8 байтов соответственно. Над дробными аргументами модно производить следующие операции :сравнения, числовые операции( унарные ,арифметические ,декремента) ,оператор с условием, оператор приведения типов, оператор конкотинации со строкой. Для дробных вычислений могут появляться два типа переполнения: overflow, underflow.java автоматически устраняет некорректные ситуации связанные с положительной и отрицательной бесконечностью, значением –нечислом (Not-a-number,NaN) и положительных и отрицательных нулей. Дробные типы имеют классы обертки (Float , Double)включающие дополнительные функции по обработке числовых величин.
Булев тип представлен всего одним типом boolean, который может хранить всего два возможных значения – true и false. Над булевскими аргументами можно производить следующие операции: сравнения, логические, операторы с цусловием, оператор конкатенации со срокой. Оператор кокатенации превращает строку в текст в зависимости от значений. Булевские выражения могут использоваться в качестве критериев условного перехода if. Число не может быть интерпретировано в виде булевского выражения, а ссылочные величины преобразуются в тип Буля в выражение ref!=null .
Выражение ссылочного типа имеет значение либо null, либо ссылку, указывающую на некоторый объект в виртуальной памяти Java машины. " Определения классы, интерфейсы и массивы мы рассмотрим далее и более подробно.
