Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_-_Razrabotka_web-prilozheny_Java(1).doc
Скачиваний:
45
Добавлен:
25.03.2015
Размер:
1.23 Mб
Скачать

Вопросы по java

  1. Базовые типы данных и литералы. Операторы. Классы-оболочки.Операторы управления.

В языке Java используются базовые типы данных, значения которых разме- щаются в стековой памяти (stack). Эти типы обеспечивают более высокую производительность вычислений по сравнению с объектами. Кроме этого, для каждого базового типа имеются классы-оболочки, которые инкапсулируют данные базовых типов в объекты, располагаемые в динамической памяти (heap).

В Java используются целочисленные литералы, например: 35 – целое десятичное число, 071 – восьмеричное значение, 0х51 – шестнадцатеричное значение. Целочисленные литералы по умолчанию относятся к типу int. Если необходимо определить длинный литерал типа long, в конце указывается символ L (например: 0xffffL). Если значение числа больше значения, помещающегося в int (2147483647), то Java автоматически предполагает, что оно типа long. Литералы с плавающей точкой записываются в виде 1.618 или в экспоненци- альной форме 0.112E-05 и относятся к типу double, таким образом, действи- тельные числа относятся к типу double. Если необходимо определить литерал типа float, то в конце литерала следует добавить символ F. Символьные литералы определяются в апострофах ('a', '\n', '\141', '\u005a' ). Для раз- мещения символов используется формат Unicode, в соответствии с которым для каждого символа отводится два байта. В формате Unicode первый байт содержит код управляющего символа или национального алфавита, а второй байт соответ- ствует стандартному ASCII коду, как в C++. Любой символ можно представить в виде '\ucode', где code представляет двухбайтовый шестнадцатеричный код символа. Java поддерживает управляющие символы, не имеющие графического изображения; '\n'– новая строка, '\r' – переход к началу, '\f' – новая страница, '\t'– табуляция, '\b' – возврат на один символ, '\uxxxx' – шестнадцате- ричный символ Unicode, '\ddd'– восьмеричный символ и др. Начиная с J2SE 5.0 используется формат Unicode 4.0. Поддержку четырехбайтным символам обеспечивает наличие специальных методов в классе Character. К литералам относятся булевские значения true и false, а также null – значение по умолчанию для ссылки на объект. При инициализации строки всегда создается объект класса String – это не массив символов и не строка. Строки, заключенные в двойные апострофы, считаются литералами и размещаются в пуле литералов, но в то же время такие строки представляют собой объекты.

Кроме базовых типов данных, в языке Java широко используются соответ- ствующие классы-оболочки (wrapper-классы) из пакета java.lang: Boolean, Character, Integer, Byte, Short, Long, Float, Double. Объекты этих классов могут хранить те же значения, что и соответствующие им базовые типы.

Операторы управления Оператор выбора if имеет следующий синтаксис: if (boolexp) { /*операторы*/} //1 else { /*операторы*/ } //2

  1. М ассивы.

Массив представляет собой объект, где имя массива является объектной ссылкой. Элементами массива могут быть значения базового типа или объекты. Индексирование элементов начинается с нуля. Все массивы в языке Java являются динамическими, поэтому для создания массива требуется выделение памяти с помощью оператора new или прямой инициализации. Значения элементов неини- циализированного массива, для которого выделена память, устанавливаются в значения по умолчанию для массива базового типа или null для массива объект- ных ссылок. Для объявления ссылки на массив можно записать пустые квадратные скобки после имени типа, например: int a[]. Аналогичный результат получится при записи int[] a.

Многомерных массивов в Java не существует, но можно объявлять массив массивов. Для задания начальных значений массивов существует специальная форма инициализатора, например: int arr[][] = { { 1 }, { 2, 3 }, { 4, 5, 6 }, { 7, 8, 9, 0 } };

  1. Класс Маth.

Класс java.lang.Math содержит только статические методы для физиче- ских и технических расчетов, а также константы E и PI.

Все методы класса вызываются без создания экземпляра класса (создать эк- земпляр класса Math невозможно). В классе определено большое количество ме- тодов для математических вычислений, а также ряд других полезных методов, таких как floor(), ceil(), rint(), round(), max(), min(), которые выполняют задачи по округлению, поиску экстремальных значений, нахождению ближайшего целого и т.д.

  1. Переменные класса и константы. Ограничение доступа. Конструкторы. Методы.

Классы инкапсулируют переменные и методы – члены класса. Переменные класса объявляются в нем следующим образом: cпецификатор тип имя; В языке Java могут использоваться статические переменные класса, объявлен- ные один раз для всего класса со спецификатором static и одинаковые для всех экземпляров (объектов) класса, или переменные экземпляра класса, создаваемые для каждого объекта класса. Поля класса объявляются со спецификаторами до- ступа public, private, protected или по умолчанию без спецификатора. Кроме данных – членов класса, в методах класса используются локальные пере- менные и параметры методов. В отличие от переменных класса, инкапсули- руемых нулевыми элементами, переменные методов не инициализируются по умолчанию.

Переменные со спецификатором final являются константами. Специфи- катор final можно использовать для переменной, объявленной в методе, а также для параметра метода

Язык Java предоставляет несколько уровней защиты, обеспечивающих возможность настройки области видимости данных и методов. Из-за наличия пакетов Java работает с четырьмя категориями видимости между элементами классов:  по умолчанию – дружественные члены класса доступны классам, находящимся в том же пакете;  private – члены класса доступны только членам данного класса;  protected – члены класса доступны классам, находящимся в том же пакете, и подклассам – в других пакетах;  public – члены класса доступны для всех классов в этом и других пакетах.

Если у элемента вообще не указан модификатор уровня доступа, то такой элемент будет виден и доступен из подклассов и классов того же пакета. Именно такой уровень доступа используется по умолчанию. Если же необходимо, чтобы элемент был доступен из другого пакета, но только подклас- сам того класса, которому он принадлежит, нужно объявить такой элемент со спецификатором protected.

Конструктор  это метод, который автоматически вызывается при создании объекта класса и выполняет действия по инициализации объекта. Конструктор имеет то же имя, что и класс; вызывается не по имени, а только вместе с ключе- вым словом new при создании экземпляра класса. Конструктор не возвращает значение, но может иметь параметры и быть перегружаемым. Деструкторы в языке Java не используются, объекты уничтожаются сборщи- ком мусора после прекращения их использования (потери ссылки). Аналогом де- структора является метод finalize(). Исполняющая среда языка Java будет вызывать его каждый раз, когда сборщик мусора будет уничтожать объект класса, которому не соответствует ни одна ссылка

Все функции Java объявляются только внутри классов и называются метода- ми. Простейшее определение метода имеет вид: returnType methodName(список_параметров) { // тело метода return value; // если нужен возврат значения (returnType не void) }

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]