Читайте также:
|
Хотя комментарии никак не влияют на исполняемый код программы, при правильном использовании они оказываются весьма существенной частью исходного текста. Существует три разновидности комментариев: комментарии в одной строке, комментарии в нескольких строках и, наконец, комментарии для документирования. Комментарии, занимающие одну строку, начинаются с символов // и заканчиваются в конце строки. Такой стиль комментирования полезен для размещения кратких пояснений к отдельным строкам кода.
Для более подробных пояснений вы можете воспользоваться комментариями, размещенными на нескольких строках, начав текст комментариев символами /* и закончив символами */ При этом весь текст между этими парами символов будет расценен как комментарий и транслятор его проигнорирует.
Третья, особая форма комментариев, предназначена для сервисной программы javadoc, которая использует компоненты Java-транслятора для автоматической генерации документации по интерфейсам классов. Соглашение, используемое для комментариев этого вида, таково: для того, чтобы разместить перед объявлением открытого (public) класса, метода или переменной документирующий комментарий, нужно начать его с символов /** (косая черта и две звездочки). Заканчивается такой комментарий точно так же, как и обычный комментарий — символами */. Программа javadoc умеет различать в документирующих комментариях некоторые специальные переменные, имена которых начинаются с символа @.
Комментарии документации позволяют добавлять в программу информацию о ней самой. С помощью утилиты javadoc (входящей в состав JDK) эту информацию можно извлекать и помещать в НТМL файл.
Утилита javadoc позволяет вставлять HTML тэги и использовать специальные ярлыки (дескрипторы) документирования. НТМL тэги заголовков не используют, чтобы не нарушать стильфайла, сформированного утилитой.
Дескрипторы javadoc, начинающиеся со знака @, называются автономными и должны помещаться с начала строки комментария (лидирующий символ * игнорируется). Дескрипторы, начинающиеся с фигурной скобки, например {@code}, называются встроенными и могут применяться внутри описания.
Для документирования переменной можно использовать следующие дескрипторы:
@see, @serial, @serialField, {@value}, @deprecated.
Для классов и интерфейсов можно использовать дескрипторы:
@see, @author, @deprecated, @param, @version.
Методы можно документировать с помощью дескрипторов:
@see, @return, @param, @deprecated, @throws, @serialData, {@inheritDoc}, @ехсерtiоn.
Дескрипторы {@link}, {@docRoot}, {@code}, {@literal}, @since, {@linkplain} могут применяться где угодно.
7. Какие бывают типы данных? Как каждый тип хранится в памяти?
Все типы исходных данных, встроенные в язык Java, делятся на две группы: примитивные типы (primitive types) и ссылочные типы (reference types).
Ссылочные типы делятся на массивы (arrays), массы (classes) и интерфейсы (interfaces).
Примитивных типов всего восемь. Их можно разделить на логический тип boolean и числовые (numeric).
К числовым типам относятся целые и вещественные типы.
Целых типов пять: byte, short, int, long, char.
Символы можно использовать везде, где используется тип int, поэтому JLS причисляет их к целым типам. Например, их можно использовать в арифметических вычислениях, скажем, можно написать 2 + 'ж', к двойке будет прибавляться кодировка Unicode '\u04i6' буквы 'ж'. В десятичной форме это число 1046 и в результате сложения получим 1048.
В записи 2 + "ж" плюс понимается как сцепление строк, двойка будет преобразована в строку, в результате получится строка "2ж".
Вещественных типов два: float и double.
Поскольку по имени переменной невозможно определить ее тип, все переменные обязательно должны быть описаны перед их использованием.
Логических значении всего два: true (истина) и false (ложь).
Спецификация языка Java, JLS, определяет разрядность (количество байтов, выделяемых для хранения значений типа в оперативной памяти) и диапазон значений каждого типа.
Целые типы:
byte разрядность: 1 байт, диапазон: от -128 до 127;
short разрядность: 2 байт, диапазон: от -32768 до 32767;
int разрядность: 4 байт, диапазон: от -2147483648 до 2147483647;
long разрядность: 8 байт, диапазон: от -9223372036854775808 до 9223372036854775807;
char разрядность: 2 байт, диапазон: от '\u0000' до '\uFFFF', в десятичной форме от 0 до 65535.
Поскольку в Java для представления символов в строках используется кодировка Unicode, разрядность типа char в этом языке — 16 бит. В нем можно хранить десятки тысяч символов интернационального набора символов Unicode. Диапазон типа char — 0..65536. Unicode — это объединение десятков кодировок символов, он включает в себя латинский, греческий, арабский алфавиты, кириллицу и многие другие наборы символов.
Целые типы хранятся в двоичном виде с дополнительным кодом. Для отрицательных чисел хранится не их двоичное представление, а дополнительный код этого двоичного представления: в двоичном представлении все нули меняются на единицы, а единицы на нули, после чего к результату прибавляется единица, разумеется, в двоичной арифметике.
Значение 50 переменной будет храниться в одном байте с содержимым 00110010, а значение -99 переменной в байте с содержимым, которое вычисляем так: число 99 переводим в двоичную форму, получая 01100011, меняем единицы и нули, получая 10011100, и прибавляем единицу, получив окончательно байт с содержимым 10011101.
Смысл всех этих сложностей в том, что сложение числа с его дополнительным кодом в двоичной арифметике даст в результате нуль, старший бит просто теряется.
Вещественные типы:
float разрядность: 4 байт, диапазон: 3,4е-38 < |х| < 3,4е38, точность: 7—8 цифр;
double разрядность: 8 байт, диапазон: 1,7е-308<|х|<1,7е308, точность: 17 цифр.
Вещественные числа хранятся в отведенных для них ячейках памяти компьютера как числа с мантиссой и с порядком. Запись чисел в памяти вычислительной машины - компьютера рассмотрим на примере действительных десятичных чисел: число приводится к такому виду, что оно по абсолютной величине всегда меньше единицы, и одновременно самая первая его значащая цифра находится в разряде десятых долей единицы, то есть больше или равна 0.1.
Массивы: (п.8, 9)
— Это совокупность переменных одного типа, хранящихся в смежных ячейках оперативной памяти.
Пример:
class Point { int[] metrics; }
interface Move { void move(int a, int b); }
В примере объявлены класс Point, содержащий массив metrics, и интерфейс Move, содержащий метод move.
8. Что такое массив? Привести 3 способа его объявления (в виде кода). Различия одномерных и двумерных массивов.
Массив в Java — это набор элементов одного типа, обратиться к которым можно по индексу. Элементы массивов в Java расположены друг за другом в памяти компьютера.
Массивы бывают одномерными или двумерными сначала рассмотрим одномерные массивы.
Объявление одномерных массивов:
1) int[] arr; или int arr[];
new – ключевое слово языка программирования Java, используемое для создания нового экземпляра класса.
Для определения массива в Java следует указать его длину (выделение памяти), т.е. количество элементов, которые могут в нём храниться:
2) arr = new int[5];
3) вместо пунктов 1 и 2 можно записать: int[] arr = new int[5]; - объявление и определение одновременно.
Массив — это набор элементов. К каждому элементу массива можно обратиться по его номеру. Номер принято называть индексом. Нумерация элементов массива в Java идёт с нуля.
Инициализация массива:
1) поэлементно: arr[0] = 0; arr[1] = 1; …
2) в цикле: for(int i = 0; i < 5; i++) {arr[i] = i;}
3) объявление с инициализацией: int[] arr = {5,4,3,2,1,0};
Получение элементов из массива: int a = arr[2];
Вывод всех элементов массива:
1) for(int i = 0; i < 5; i++) {System.out.println("arr[" + i + "] = " + arr[i]);}
2) for(int i: arr) {System.out.println("arr[" + i + "] = " + arr[i]);}
Удаление массива: arr = null;
Получение длины массива: int k = arr.length;
9. Что такое класс, абстрактный класс, интерфейс? Чем они различаются? Привести примеры (в виде кода).
Класс
Базовым элементом объектно-ориентированного программирования в языке Java является класс. Классы в Java не обязательно должны содержать метод main. Единственное назначение этого метода — указать интерпретатору Java, откуда надо начинать выполнение программы. Для того, чтобы создать класс, достаточно иметь исходный файл, в котором будет присутствовать ключевое слово class, и вслед за ним — допустимый идентификатор и пара фигурных скобок для его тела.
В Java единственным глобальным пространством имен является классовая иерархия. В этом языке просто невозможно создать глобальную переменную, не принадлежащую ни одному из классов, т.е. класс — это шаблон для создания объекта.
Класс определяет структуру объекта и его методы, образующие функциональный интерфейс. В процессе выполнения Java-программы система использует определения классов для создания представителей классов. Представители являются реальными объектами
Примеры:
1) class NewClass_1{}
2) class имя_класса extends имя_суперкласса {переменные, методы}
например: public class Servlet_1 extends HttpServlet {}
Ключевое слово extends указывает на то, что “имя_класса” — это подкласс класса “имя_суперкласса”. Если нужно создать подкласс непосредственно этого класса, ключевое слово extends и следующее за ним имя суперкласса можно опустить — транслятор включит их в определение автоматически.
3) NewClass_1 р = new NewClass_1();
- Создание и присваивание переменной р экземпляра класса NewClass_1.
Оператор new создает экземпляр указанного класса и возвращает ссылку на вновь созданный объект.
Дата добавления: 2015-09-11; просмотров: 167 | Поможем написать вашу работу | Нарушение авторских прав |